diff options
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r-- | src/gallium/state_trackers/nine/adapter9.h | 1 | ||||
-rw-r--r-- | src/gallium/state_trackers/nine/device9.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/nine/adapter9.h b/src/gallium/state_trackers/nine/adapter9.h index ba20a3abe87..605444cbc8d 100644 --- a/src/gallium/state_trackers/nine/adapter9.h +++ b/src/gallium/state_trackers/nine/adapter9.h @@ -43,6 +43,7 @@ struct d3dadapter9_context BOOL tearfree_discard; int csmt_force; BOOL dynamic_texture_workaround; + BOOL shader_inline_constants; void (*destroy)( struct d3dadapter9_context *ctx ); }; diff --git a/src/gallium/state_trackers/nine/device9.c b/src/gallium/state_trackers/nine/device9.c index 78ca58d3c27..6d29378a7bc 100644 --- a/src/gallium/state_trackers/nine/device9.c +++ b/src/gallium/state_trackers/nine/device9.c @@ -491,9 +491,10 @@ NineDevice9_ctor( struct NineDevice9 *This, This->driver_caps.ps_integer = pScreen->get_shader_param(pScreen, PIPE_SHADER_FRAGMENT, PIPE_SHADER_CAP_INTEGERS); This->driver_caps.offset_units_unscaled = GET_PCAP(POLYGON_OFFSET_UNITS_UNSCALED); + This->context.inline_constants = pCTX->shader_inline_constants; /* Code would be needed when integers are not available to correctly * handle the conversion of integer constants */ - This->context.inline_constants = This->driver_caps.vs_integer && This->driver_caps.ps_integer; + This->context.inline_constants &= This->driver_caps.vs_integer && This->driver_caps.ps_integer; nine_ff_init(This); /* initialize fixed function code */ |