wined3d: Have ARB_fbo imply EXT_packed_depth_stencil.
The enums are the same between the two extensions. The 24-8 packed depth/stencil format is the only thing provided by the latter. Remove some redundant code. Signed-off-by: Chip Davis <cdavis@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
536277adf5
commit
160cb956f8
|
@ -3752,6 +3752,11 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
|
||||||
WARN("Disabling ARB_texture_multisample because immutable storage is not supported.\n");
|
WARN("Disabling ARB_texture_multisample because immutable storage is not supported.\n");
|
||||||
gl_info->supported[ARB_TEXTURE_MULTISAMPLE] = FALSE;
|
gl_info->supported[ARB_TEXTURE_MULTISAMPLE] = FALSE;
|
||||||
}
|
}
|
||||||
|
if (gl_info->supported[ARB_FRAMEBUFFER_OBJECT] && !gl_info->supported[EXT_PACKED_DEPTH_STENCIL])
|
||||||
|
{
|
||||||
|
TRACE(" IMPLIED: GL_EXT_packed_depth_stencil (by GL_ARB_framebuffer_object).\n");
|
||||||
|
gl_info->supported[EXT_PACKED_DEPTH_STENCIL] = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
wined3d_adapter_init_limits(gl_info);
|
wined3d_adapter_init_limits(gl_info);
|
||||||
|
|
||||||
|
|
|
@ -1795,29 +1795,20 @@ static const struct wined3d_format_texture_info format_texture_info[] =
|
||||||
GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 0,
|
GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 0,
|
||||||
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_SHADOW,
|
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_SHADOW,
|
||||||
ARB_DEPTH_TEXTURE, NULL},
|
ARB_DEPTH_TEXTURE, NULL},
|
||||||
{WINED3DFMT_S1_UINT_D15_UNORM, GL_DEPTH24_STENCIL8_EXT, GL_DEPTH24_STENCIL8_EXT, 0,
|
|
||||||
GL_DEPTH_STENCIL_EXT, GL_UNSIGNED_INT_24_8_EXT, 4,
|
|
||||||
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
|
|
||||||
EXT_PACKED_DEPTH_STENCIL, convert_s1_uint_d15_unorm},
|
|
||||||
{WINED3DFMT_S1_UINT_D15_UNORM, GL_DEPTH24_STENCIL8, GL_DEPTH24_STENCIL8, 0,
|
{WINED3DFMT_S1_UINT_D15_UNORM, GL_DEPTH24_STENCIL8, GL_DEPTH24_STENCIL8, 0,
|
||||||
GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 4,
|
GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 4,
|
||||||
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
|
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
|
||||||
ARB_FRAMEBUFFER_OBJECT, convert_s1_uint_d15_unorm},
|
EXT_PACKED_DEPTH_STENCIL, convert_s1_uint_d15_unorm},
|
||||||
{WINED3DFMT_D24_UNORM_S8_UINT, GL_DEPTH_COMPONENT24_ARB, GL_DEPTH_COMPONENT24_ARB, 0,
|
{WINED3DFMT_D24_UNORM_S8_UINT, GL_DEPTH_COMPONENT24_ARB, GL_DEPTH_COMPONENT24_ARB, 0,
|
||||||
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 0,
|
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 0,
|
||||||
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
|
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
|
||||||
| WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_SHADOW,
|
| WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_SHADOW,
|
||||||
ARB_DEPTH_TEXTURE, NULL},
|
ARB_DEPTH_TEXTURE, NULL},
|
||||||
{WINED3DFMT_D24_UNORM_S8_UINT, GL_DEPTH24_STENCIL8_EXT, GL_DEPTH24_STENCIL8_EXT, 0,
|
|
||||||
GL_DEPTH_STENCIL_EXT, GL_UNSIGNED_INT_24_8_EXT, 0,
|
|
||||||
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
|
|
||||||
| WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
|
|
||||||
EXT_PACKED_DEPTH_STENCIL, NULL},
|
|
||||||
{WINED3DFMT_D24_UNORM_S8_UINT, GL_DEPTH24_STENCIL8, GL_DEPTH24_STENCIL8, 0,
|
{WINED3DFMT_D24_UNORM_S8_UINT, GL_DEPTH24_STENCIL8, GL_DEPTH24_STENCIL8, 0,
|
||||||
GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 0,
|
GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 0,
|
||||||
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
|
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
|
||||||
| WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
|
| WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
|
||||||
ARB_FRAMEBUFFER_OBJECT, NULL},
|
EXT_PACKED_DEPTH_STENCIL, NULL},
|
||||||
{WINED3DFMT_X8D24_UNORM, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, 0,
|
{WINED3DFMT_X8D24_UNORM, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, 0,
|
||||||
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 4,
|
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 4,
|
||||||
WINED3DFMT_FLAG_DEPTH,
|
WINED3DFMT_FLAG_DEPTH,
|
||||||
|
@ -1831,14 +1822,10 @@ static const struct wined3d_format_texture_info format_texture_info[] =
|
||||||
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 0,
|
GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, 0,
|
||||||
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_SHADOW,
|
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_SHADOW,
|
||||||
ARB_DEPTH_TEXTURE, NULL},
|
ARB_DEPTH_TEXTURE, NULL},
|
||||||
{WINED3DFMT_S4X4_UINT_D24_UNORM, GL_DEPTH24_STENCIL8_EXT, GL_DEPTH24_STENCIL8_EXT, 0,
|
|
||||||
GL_DEPTH_STENCIL_EXT, GL_UNSIGNED_INT_24_8_EXT, 4,
|
|
||||||
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
|
|
||||||
EXT_PACKED_DEPTH_STENCIL, convert_s4x4_uint_d24_unorm},
|
|
||||||
{WINED3DFMT_S4X4_UINT_D24_UNORM, GL_DEPTH24_STENCIL8, GL_DEPTH24_STENCIL8, 0,
|
{WINED3DFMT_S4X4_UINT_D24_UNORM, GL_DEPTH24_STENCIL8, GL_DEPTH24_STENCIL8, 0,
|
||||||
GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 4,
|
GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 4,
|
||||||
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
|
WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL | WINED3DFMT_FLAG_SHADOW,
|
||||||
ARB_FRAMEBUFFER_OBJECT, convert_s4x4_uint_d24_unorm},
|
EXT_PACKED_DEPTH_STENCIL, convert_s4x4_uint_d24_unorm},
|
||||||
{WINED3DFMT_D16_UNORM, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, 0,
|
{WINED3DFMT_D16_UNORM, GL_DEPTH_COMPONENT, GL_DEPTH_COMPONENT, 0,
|
||||||
GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 0,
|
GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, 0,
|
||||||
WINED3DFMT_FLAG_DEPTH,
|
WINED3DFMT_FLAG_DEPTH,
|
||||||
|
@ -1885,16 +1872,11 @@ static const struct wined3d_format_texture_info format_texture_info[] =
|
||||||
GL_RG, GL_UNSIGNED_BYTE, 0,
|
GL_RG, GL_UNSIGNED_BYTE, 0,
|
||||||
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING,
|
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING,
|
||||||
ARB_TEXTURE_COMPRESSION_RGTC, NULL},
|
ARB_TEXTURE_COMPRESSION_RGTC, NULL},
|
||||||
{WINED3DFMT_INTZ, GL_DEPTH24_STENCIL8_EXT, GL_DEPTH24_STENCIL8_EXT, 0,
|
|
||||||
GL_DEPTH_STENCIL_EXT, GL_UNSIGNED_INT_24_8_EXT, 0,
|
|
||||||
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
|
|
||||||
| WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL,
|
|
||||||
EXT_PACKED_DEPTH_STENCIL, NULL},
|
|
||||||
{WINED3DFMT_INTZ, GL_DEPTH24_STENCIL8, GL_DEPTH24_STENCIL8, 0,
|
{WINED3DFMT_INTZ, GL_DEPTH24_STENCIL8, GL_DEPTH24_STENCIL8, 0,
|
||||||
GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 0,
|
GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8, 0,
|
||||||
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
|
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_POSTPIXELSHADER_BLENDING | WINED3DFMT_FLAG_FILTERING
|
||||||
| WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL,
|
| WINED3DFMT_FLAG_DEPTH | WINED3DFMT_FLAG_STENCIL,
|
||||||
ARB_FRAMEBUFFER_OBJECT, NULL},
|
EXT_PACKED_DEPTH_STENCIL, NULL},
|
||||||
{WINED3DFMT_NULL, 0, 0, 0,
|
{WINED3DFMT_NULL, 0, 0, 0,
|
||||||
GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, 0,
|
GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, 0,
|
||||||
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_RENDERTARGET | WINED3DFMT_FLAG_FBO_ATTACHABLE,
|
WINED3DFMT_FLAG_TEXTURE | WINED3DFMT_FLAG_RENDERTARGET | WINED3DFMT_FLAG_FBO_ATTACHABLE,
|
||||||
|
@ -2591,8 +2573,7 @@ static void check_fbo_compat(struct wined3d_caps_gl_ctx *ctx, struct wined3d_for
|
||||||
BOOL match = TRUE;
|
BOOL match = TRUE;
|
||||||
GLuint rb;
|
GLuint rb;
|
||||||
|
|
||||||
if (gl_info->supported[ARB_FRAMEBUFFER_OBJECT]
|
if (gl_info->supported[EXT_PACKED_DEPTH_STENCIL])
|
||||||
|| gl_info->supported[EXT_PACKED_DEPTH_STENCIL])
|
|
||||||
{
|
{
|
||||||
gl_info->fbo_ops.glGenRenderbuffers(1, &rb);
|
gl_info->fbo_ops.glGenRenderbuffers(1, &rb);
|
||||||
gl_info->fbo_ops.glBindRenderbuffer(GL_RENDERBUFFER, rb);
|
gl_info->fbo_ops.glBindRenderbuffer(GL_RENDERBUFFER, rb);
|
||||||
|
@ -2698,8 +2679,7 @@ static void check_fbo_compat(struct wined3d_caps_gl_ctx *ctx, struct wined3d_for
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gl_info->supported[ARB_FRAMEBUFFER_OBJECT]
|
if (gl_info->supported[EXT_PACKED_DEPTH_STENCIL])
|
||||||
|| gl_info->supported[EXT_PACKED_DEPTH_STENCIL])
|
|
||||||
{
|
{
|
||||||
gl_info->fbo_ops.glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, 0);
|
gl_info->fbo_ops.glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, 0);
|
||||||
gl_info->fbo_ops.glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, 0);
|
gl_info->fbo_ops.glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, 0);
|
||||||
|
|
Loading…
Reference in New Issue