Commit 25d55c42 authored by Józef Kucia's avatar Józef Kucia Committed by Alexandre Julliard

wined3d: Avoid accessing gl_info in vertexdeclaration_init().

parent dfdecfc2
...@@ -3683,7 +3683,7 @@ static void context_update_stream_info(struct wined3d_context *context, const st ...@@ -3683,7 +3683,7 @@ static void context_update_stream_info(struct wined3d_context *context, const st
if (use_vs(state)) if (use_vs(state))
{ {
if (state->vertex_declaration->half_float_conv_needed) if (state->vertex_declaration->have_half_floats && !gl_info->supported[ARB_HALF_FLOAT_VERTEX])
{ {
TRACE("Using immediate mode draw with vertex shaders for FLOAT16 conversion.\n"); TRACE("Using immediate mode draw with vertex shaders for FLOAT16 conversion.\n");
context->use_immediate_mode_draw = TRUE; context->use_immediate_mode_draw = TRUE;
......
...@@ -174,7 +174,6 @@ static HRESULT vertexdeclaration_init(struct wined3d_vertex_declaration *declara ...@@ -174,7 +174,6 @@ static HRESULT vertexdeclaration_init(struct wined3d_vertex_declaration *declara
void *parent, const struct wined3d_parent_ops *parent_ops) void *parent, const struct wined3d_parent_ops *parent_ops)
{ {
const struct wined3d_adapter *adapter = device->adapter; const struct wined3d_adapter *adapter = device->adapter;
const struct wined3d_gl_info *gl_info = &adapter->gl_info;
unsigned int i; unsigned int i;
if (TRACE_ON(d3d_decl)) if (TRACE_ON(d3d_decl))
...@@ -218,7 +217,8 @@ static HRESULT vertexdeclaration_init(struct wined3d_vertex_declaration *declara ...@@ -218,7 +217,8 @@ static HRESULT vertexdeclaration_init(struct wined3d_vertex_declaration *declara
/* Find the streams used in the declaration. The vertex buffers have /* Find the streams used in the declaration. The vertex buffers have
* to be loaded when drawing, but filter tesselation pseudo streams. */ * to be loaded when drawing, but filter tesselation pseudo streams. */
if (e->input_slot >= MAX_STREAMS) continue; if (e->input_slot >= MAX_STREAMS)
continue;
if (!e->format->gl_vtx_format) if (!e->format->gl_vtx_format)
{ {
...@@ -254,7 +254,7 @@ static HRESULT vertexdeclaration_init(struct wined3d_vertex_declaration *declara ...@@ -254,7 +254,7 @@ static HRESULT vertexdeclaration_init(struct wined3d_vertex_declaration *declara
if (elements[i].format == WINED3DFMT_R16G16_FLOAT || elements[i].format == WINED3DFMT_R16G16B16A16_FLOAT) if (elements[i].format == WINED3DFMT_R16G16_FLOAT || elements[i].format == WINED3DFMT_R16G16B16A16_FLOAT)
{ {
if (!gl_info->supported[ARB_HALF_FLOAT_VERTEX]) declaration->half_float_conv_needed = TRUE; declaration->have_half_floats = TRUE;
} }
} }
......
...@@ -3463,10 +3463,10 @@ struct wined3d_vertex_declaration ...@@ -3463,10 +3463,10 @@ struct wined3d_vertex_declaration
struct wined3d_device *device; struct wined3d_device *device;
struct wined3d_vertex_declaration_element *elements; struct wined3d_vertex_declaration_element *elements;
UINT element_count; unsigned int element_count;
BOOL position_transformed; BOOL position_transformed;
BOOL half_float_conv_needed; BOOL have_half_floats;
}; };
struct wined3d_saved_states struct wined3d_saved_states
......
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