wined3d: Store sRGB write control support in struct wined3d_d3d_info.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
60938b4e94
commit
d4fa7e4cfc
|
@ -3795,6 +3795,7 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
|
|||
d3d_info->vertex_bgra = !!gl_info->supported[ARB_VERTEX_ARRAY_BGRA];
|
||||
d3d_info->texture_swizzle = !!gl_info->supported[ARB_TEXTURE_SWIZZLE];
|
||||
d3d_info->srgb_read_control = !!gl_info->supported[EXT_TEXTURE_SRGB_DECODE];
|
||||
d3d_info->srgb_write_control = !!gl_info->supported[ARB_FRAMEBUFFER_SRGB];
|
||||
|
||||
if (gl_info->supported[ARB_TEXTURE_MULTISAMPLE])
|
||||
d3d_info->multisample_draw_location = WINED3D_LOCATION_TEXTURE_RGB;
|
||||
|
|
|
@ -3902,7 +3902,7 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3
|
|||
unsigned int i;
|
||||
|
||||
memset(args, 0, sizeof(*args)); /* FIXME: Make sure all bits are set. */
|
||||
if (!gl_info->supported[ARB_FRAMEBUFFER_SRGB] && needs_srgb_write(context, state, state->fb))
|
||||
if (!d3d_info->srgb_write_control && needs_srgb_write(context, state, state->fb))
|
||||
{
|
||||
static unsigned int warned = 0;
|
||||
|
||||
|
|
|
@ -6167,7 +6167,7 @@ void gen_ffp_frag_op(const struct wined3d_context *context, const struct wined3d
|
|||
break;
|
||||
}
|
||||
}
|
||||
settings->sRGB_write = !gl_info->supported[ARB_FRAMEBUFFER_SRGB] && needs_srgb_write(context, state, state->fb);
|
||||
settings->sRGB_write = !d3d_info->srgb_write_control && needs_srgb_write(context, state, state->fb);
|
||||
if (d3d_info->vs_clipping || !use_vs(state) || !state->render_states[WINED3D_RS_CLIPPING]
|
||||
|| !state->render_states[WINED3D_RS_CLIPPLANEENABLE])
|
||||
{
|
||||
|
|
|
@ -198,21 +198,22 @@ struct wined3d_d3d_info
|
|||
{
|
||||
struct wined3d_d3d_limits limits;
|
||||
struct wined3d_ffp_attrib_ops ffp_attrib_ops;
|
||||
unsigned int wined3d_creation_flags;
|
||||
unsigned int xyzrhw : 1;
|
||||
unsigned int emulated_flatshading : 1;
|
||||
unsigned int ffp_generic_attributes : 1;
|
||||
unsigned int vs_clipping : 1;
|
||||
unsigned int shader_color_key : 1;
|
||||
unsigned int shader_double_precision : 1;
|
||||
unsigned int shader_output_interpolation : 1;
|
||||
unsigned int viewport_array_index_any_shader : 1;
|
||||
unsigned int texture_npot : 1;
|
||||
unsigned int texture_npot_conditional : 1;
|
||||
unsigned int draw_base_vertex_offset : 1;
|
||||
unsigned int vertex_bgra : 1;
|
||||
unsigned int texture_swizzle : 1;
|
||||
unsigned int srgb_read_control : 1;
|
||||
uint32_t wined3d_creation_flags;
|
||||
uint32_t xyzrhw : 1;
|
||||
uint32_t emulated_flatshading : 1;
|
||||
uint32_t ffp_generic_attributes : 1;
|
||||
uint32_t vs_clipping : 1;
|
||||
uint32_t shader_color_key : 1;
|
||||
uint32_t shader_double_precision : 1;
|
||||
uint32_t shader_output_interpolation : 1;
|
||||
uint32_t viewport_array_index_any_shader : 1;
|
||||
uint32_t texture_npot : 1;
|
||||
uint32_t texture_npot_conditional : 1;
|
||||
uint32_t draw_base_vertex_offset : 1;
|
||||
uint32_t vertex_bgra : 1;
|
||||
uint32_t texture_swizzle : 1;
|
||||
uint32_t srgb_read_control : 1;
|
||||
uint32_t srgb_write_control : 1;
|
||||
enum wined3d_feature_level feature_level;
|
||||
|
||||
DWORD multisample_draw_location;
|
||||
|
|
Loading…
Reference in New Issue