Commit 60938b4e authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

wined3d: Store sRGB read control support in struct wined3d_d3d_info.

parent 15dd8e2b
...@@ -3794,6 +3794,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, ...@@ -3794,6 +3794,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
d3d_info->draw_base_vertex_offset = !!gl_info->supported[ARB_DRAW_ELEMENTS_BASE_VERTEX]; d3d_info->draw_base_vertex_offset = !!gl_info->supported[ARB_DRAW_ELEMENTS_BASE_VERTEX];
d3d_info->vertex_bgra = !!gl_info->supported[ARB_VERTEX_ARRAY_BGRA]; d3d_info->vertex_bgra = !!gl_info->supported[ARB_VERTEX_ARRAY_BGRA];
d3d_info->texture_swizzle = !!gl_info->supported[ARB_TEXTURE_SWIZZLE]; d3d_info->texture_swizzle = !!gl_info->supported[ARB_TEXTURE_SWIZZLE];
d3d_info->srgb_read_control = !!gl_info->supported[EXT_TEXTURE_SRGB_DECODE];
if (gl_info->supported[ARB_TEXTURE_MULTISAMPLE]) if (gl_info->supported[ARB_TEXTURE_MULTISAMPLE])
d3d_info->multisample_draw_location = WINED3D_LOCATION_TEXTURE_RGB; d3d_info->multisample_draw_location = WINED3D_LOCATION_TEXTURE_RGB;
......
...@@ -212,6 +212,7 @@ struct wined3d_d3d_info ...@@ -212,6 +212,7 @@ struct wined3d_d3d_info
unsigned int draw_base_vertex_offset : 1; unsigned int draw_base_vertex_offset : 1;
unsigned int vertex_bgra : 1; unsigned int vertex_bgra : 1;
unsigned int texture_swizzle : 1; unsigned int texture_swizzle : 1;
unsigned int srgb_read_control : 1;
enum wined3d_feature_level feature_level; enum wined3d_feature_level feature_level;
DWORD multisample_draw_location; DWORD multisample_draw_location;
...@@ -4819,7 +4820,7 @@ static inline BOOL needs_separate_srgb_gl_texture(const struct wined3d_context * ...@@ -4819,7 +4820,7 @@ static inline BOOL needs_separate_srgb_gl_texture(const struct wined3d_context *
unsigned int flags = texture->resource.format_flags unsigned int flags = texture->resource.format_flags
& (WINED3DFMT_FLAG_SRGB_READ | WINED3DFMT_FLAG_SRGB_WRITE); & (WINED3DFMT_FLAG_SRGB_READ | WINED3DFMT_FLAG_SRGB_WRITE);
return (!context->gl_info->supported[EXT_TEXTURE_SRGB_DECODE] return (!context->d3d_info->srgb_read_control
|| (flags && flags != (WINED3DFMT_FLAG_SRGB_READ | WINED3DFMT_FLAG_SRGB_WRITE))) || (flags && flags != (WINED3DFMT_FLAG_SRGB_READ | WINED3DFMT_FLAG_SRGB_WRITE)))
&& context->d3d_info->wined3d_creation_flags & WINED3D_SRGB_READ_WRITE_CONTROL; && context->d3d_info->wined3d_creation_flags & WINED3D_SRGB_READ_WRITE_CONTROL;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment