mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Remove thin3d buffer->SetData
This commit is contained in:
parent
691539b428
commit
534a65c610
6 changed files with 13 additions and 51 deletions
|
@ -38,6 +38,13 @@
|
|||
|
||||
const int FB_WIDTH = 480;
|
||||
const int FB_HEIGHT = 272;
|
||||
|
||||
struct Vertex {
|
||||
float x, y, z;
|
||||
float u, v;
|
||||
uint32_t rgba;
|
||||
};
|
||||
|
||||
FormatBuffer fb;
|
||||
FormatBuffer depthbuf;
|
||||
u32 clut[4096];
|
||||
|
@ -62,7 +69,7 @@ SoftGPU::SoftGPU(GraphicsContext *gfxCtx, Draw::DrawContext *draw)
|
|||
|
||||
InputLayoutDesc inputDesc = {
|
||||
{
|
||||
{ 24, false },
|
||||
{ sizeof(Vertex), false },
|
||||
},
|
||||
{
|
||||
{ 0, SEM_POSITION, DataFormat::R32G32B32_FLOAT, 0 },
|
||||
|
@ -73,7 +80,7 @@ SoftGPU::SoftGPU(GraphicsContext *gfxCtx, Draw::DrawContext *draw)
|
|||
|
||||
ShaderModule *vshader = draw_->GetVshaderPreset(VS_TEXTURE_COLOR_2D);
|
||||
|
||||
vdata = draw_->CreateBuffer(24 * 4, BufferUsageFlag::DYNAMIC | BufferUsageFlag::VERTEXDATA);
|
||||
vdata = draw_->CreateBuffer(sizeof(Vertex) * 4, BufferUsageFlag::DYNAMIC | BufferUsageFlag::VERTEXDATA);
|
||||
idata = draw_->CreateBuffer(sizeof(int) * 6, BufferUsageFlag::DYNAMIC | BufferUsageFlag::INDEXDATA);
|
||||
|
||||
InputLayout *inputLayout = draw_->CreateInputLayout(inputDesc);
|
||||
|
@ -213,12 +220,6 @@ void SoftGPU::CopyToCurrentFboFromDisplayRam(int srcwidth, int srcheight) {
|
|||
x2 -= 1.0f;
|
||||
y2 -= 1.0f;
|
||||
|
||||
struct Vertex {
|
||||
float x, y, z;
|
||||
float u, v;
|
||||
uint32_t rgba;
|
||||
};
|
||||
|
||||
if (hasImage) {
|
||||
float v0 = 1.0f;
|
||||
float v1 = 0.0f;
|
||||
|
@ -235,10 +236,10 @@ void SoftGPU::CopyToCurrentFboFromDisplayRam(int srcwidth, int srcheight) {
|
|||
{ x2, y2, 0, u1, v1, 0xFFFFFFFF }, // BR
|
||||
{ x2, y, 0, u1, v0, 0xFFFFFFFF }, // TR
|
||||
};
|
||||
vdata->SetData((const uint8_t *)verts, sizeof(verts));
|
||||
vdata->SubData((const uint8_t *)verts, 0, sizeof(verts));
|
||||
|
||||
int indexes[] = { 0, 1, 2, 0, 2, 3 };
|
||||
idata->SetData((const uint8_t *)indexes, sizeof(indexes));
|
||||
idata->SubData((const uint8_t *)indexes, 0, sizeof(indexes));
|
||||
|
||||
draw_->BindTexture(0, fbTex);
|
||||
|
||||
|
|
|
@ -388,7 +388,6 @@ public:
|
|||
|
||||
class Buffer : public RefCountedObject {
|
||||
public:
|
||||
virtual void SetData(const uint8_t *data, size_t size) = 0;
|
||||
virtual void SubData(const uint8_t *data, size_t offset, size_t size) = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -701,9 +701,6 @@ public:
|
|||
buf->Release();
|
||||
if (srView)
|
||||
srView->Release();
|
||||
}
|
||||
virtual void SetData(const uint8_t *data, size_t size) override {
|
||||
|
||||
}
|
||||
virtual void SubData(const uint8_t *data, size_t offset, size_t size) override {
|
||||
|
||||
|
|
|
@ -241,30 +241,11 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void SetData(const uint8_t *data, size_t size) override {
|
||||
if (!size)
|
||||
return;
|
||||
if (size > maxSize_) {
|
||||
ELOG("Can't SetData with bigger size than buffer was created with on D3D");
|
||||
return;
|
||||
}
|
||||
if (vbuffer_) {
|
||||
void *ptr;
|
||||
vbuffer_->Lock(0, (UINT)size, &ptr, D3DLOCK_DISCARD);
|
||||
memcpy(ptr, data, size);
|
||||
vbuffer_->Unlock();
|
||||
} else if (ibuffer_) {
|
||||
void *ptr;
|
||||
ibuffer_->Lock(0, (UINT)size, &ptr, D3DLOCK_DISCARD);
|
||||
memcpy(ptr, data, size);
|
||||
ibuffer_->Unlock();
|
||||
}
|
||||
}
|
||||
void SubData(const uint8_t *data, size_t offset, size_t size) override {
|
||||
if (!size)
|
||||
return;
|
||||
if (offset + size > maxSize_) {
|
||||
ELOG("Can't SubData with bigger size than buffer was created with on D3D");
|
||||
ELOG("Can't SubData with bigger size than buffer was created with");
|
||||
return;
|
||||
}
|
||||
if (vbuffer_) {
|
||||
|
|
|
@ -281,6 +281,7 @@ public:
|
|||
else
|
||||
usage_ = GL_STATIC_DRAW;
|
||||
totalSize_ = size;
|
||||
glBindBuffer(target_, buffer_);
|
||||
glBufferData(target_, size, NULL, usage_);
|
||||
register_gl_resource_holder(this);
|
||||
}
|
||||
|
@ -289,14 +290,6 @@ public:
|
|||
glDeleteBuffers(1, &buffer_);
|
||||
}
|
||||
|
||||
void SetData(const uint8_t *data, size_t size) override {
|
||||
if (size > totalSize_) {
|
||||
Crash();
|
||||
}
|
||||
Bind(0);
|
||||
glBufferData(target_, size, data, usage_);
|
||||
}
|
||||
|
||||
void SubData(const uint8_t *data, size_t offset, size_t size) override {
|
||||
Bind(0);
|
||||
if (size + offset > totalSize_) {
|
||||
|
|
|
@ -187,15 +187,6 @@ public:
|
|||
delete[] data_;
|
||||
}
|
||||
|
||||
void SetData(const uint8_t *data, size_t size) override {
|
||||
delete[] data_;
|
||||
dataSize_ = size;
|
||||
data_ = new uint8_t[size];
|
||||
if (data) {
|
||||
memcpy(data_, data, size);
|
||||
}
|
||||
}
|
||||
|
||||
void SubData(const uint8_t *data, size_t offset, size_t size) override {
|
||||
memcpy(data_, data_ + offset, size);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue