mirror of https://github.com/PCSX2/pcsx2.git
gsdx-ogl: reduce complexity of clear texture
Null is equivalent to a clear to 0. Note: Code is not yet used because both stencil and depth are cleared. Future note: stencil can potentially be replaced by load_store_image
This commit is contained in:
parent
bd9df9a6ec
commit
e62af05496
|
@ -519,17 +519,8 @@ void GSDeviceOGL::ClearDepth(GSTexture* t, float c)
|
||||||
// It can't be used here because it will clear both depth and stencil
|
// It can't be used here because it will clear both depth and stencil
|
||||||
if (0 && GLLoader::found_GL_ARB_clear_texture) {
|
if (0 && GLLoader::found_GL_ARB_clear_texture) {
|
||||||
#ifndef ENABLE_GLES
|
#ifndef ENABLE_GLES
|
||||||
static_cast<GSTextureOGL*>(t)->EnableUnit();
|
ASSERT(c == 0.0f);
|
||||||
// Yes a very nice API to mix float and integer
|
gl_ClearTexImage(static_cast<GSTextureOGL*>(t)->GetID(), GL_TEX_LEVEL_0, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, NULL);
|
||||||
struct clear {
|
|
||||||
float depth;
|
|
||||||
GLuint stencil;
|
|
||||||
} clear;
|
|
||||||
|
|
||||||
clear.depth = c;
|
|
||||||
clear.stencil = 0;
|
|
||||||
|
|
||||||
gl_ClearTexImage(static_cast<GSTextureOGL*>(t)->GetID(), 0, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, &clear);
|
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
OMSetFBO(m_fbo);
|
OMSetFBO(m_fbo);
|
||||||
|
@ -553,7 +544,8 @@ void GSDeviceOGL::ClearStencil(GSTexture* t, uint8 c)
|
||||||
// It can't be used here because it will clear both depth and stencil
|
// It can't be used here because it will clear both depth and stencil
|
||||||
if (0 && GLLoader::found_GL_ARB_clear_texture) {
|
if (0 && GLLoader::found_GL_ARB_clear_texture) {
|
||||||
#ifndef ENABLE_GLES
|
#ifndef ENABLE_GLES
|
||||||
gl_ClearTexImage(static_cast<GSTextureOGL*>(t)->GetID(), GL_TEX_LEVEL_0, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, &c);
|
ASSERT(c == 0);
|
||||||
|
gl_ClearTexImage(static_cast<GSTextureOGL*>(t)->GetID(), GL_TEX_LEVEL_0, GL_DEPTH_STENCIL, GL_FLOAT_32_UNSIGNED_INT_24_8_REV, NULL);
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
OMSetFBO(m_fbo);
|
OMSetFBO(m_fbo);
|
||||||
|
|
|
@ -322,7 +322,6 @@ GSTextureOGL::~GSTextureOGL()
|
||||||
void GSTextureOGL::Clear(const void *data)
|
void GSTextureOGL::Clear(const void *data)
|
||||||
{
|
{
|
||||||
#ifndef ENABLE_GLES
|
#ifndef ENABLE_GLES
|
||||||
EnableUnit();
|
|
||||||
gl_ClearTexImage(m_texture_id, 0, m_int_format, m_int_type, data);
|
gl_ClearTexImage(m_texture_id, 0, m_int_format, m_int_type, data);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue