diff options
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r-- | src/gallium/state_trackers/nine/nine_ff.c | 2 | ||||
-rw-r--r-- | src/gallium/state_trackers/nine/pixelshader9.c | 6 | ||||
-rw-r--r-- | src/gallium/state_trackers/nine/vertexshader9.c | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/src/gallium/state_trackers/nine/nine_ff.c b/src/gallium/state_trackers/nine/nine_ff.c index fabc1d3b882..58cc29b5e30 100644 --- a/src/gallium/state_trackers/nine/nine_ff.c +++ b/src/gallium/state_trackers/nine/nine_ff.c @@ -1698,7 +1698,6 @@ nine_ff_get_vs(struct NineDevice9 *device) (void)err; assert(err == PIPE_OK); device->ff.num_vs++; - NineUnknown_ConvertRefToBind(NineUnknown(vs)); vs->num_inputs = bld.num_inputs; for (n = 0; n < bld.num_inputs; ++n) @@ -1850,7 +1849,6 @@ nine_ff_get_ps(struct NineDevice9 *device) (void)err; assert(err == PIPE_OK); device->ff.num_ps++; - NineUnknown_ConvertRefToBind(NineUnknown(ps)); ps->rt_mask = 0x1; ps->sampler_mask = sampler_mask; diff --git a/src/gallium/state_trackers/nine/pixelshader9.c b/src/gallium/state_trackers/nine/pixelshader9.c index bfc395cdf55..6f053f709bf 100644 --- a/src/gallium/state_trackers/nine/pixelshader9.c +++ b/src/gallium/state_trackers/nine/pixelshader9.c @@ -203,5 +203,9 @@ NinePixelShader9_new( struct NineDevice9 *pDevice, struct NinePixelShader9 **ppOut, const DWORD *pFunction, void *cso ) { - NINE_DEVICE_CHILD_NEW(PixelShader9, ppOut, pDevice, pFunction, cso); + if (cso) { /* ff shader. Needs to start with bind count */ + NINE_DEVICE_CHILD_BIND_NEW(PixelShader9, ppOut, pDevice, pFunction, cso); + } else { + NINE_DEVICE_CHILD_NEW(PixelShader9, ppOut, pDevice, pFunction, cso); + } } diff --git a/src/gallium/state_trackers/nine/vertexshader9.c b/src/gallium/state_trackers/nine/vertexshader9.c index a4228af157e..f104a9ad134 100644 --- a/src/gallium/state_trackers/nine/vertexshader9.c +++ b/src/gallium/state_trackers/nine/vertexshader9.c @@ -262,5 +262,9 @@ NineVertexShader9_new( struct NineDevice9 *pDevice, struct NineVertexShader9 **ppOut, const DWORD *pFunction, void *cso ) { - NINE_DEVICE_CHILD_NEW(VertexShader9, ppOut, pDevice, pFunction, cso); + if (cso) { + NINE_DEVICE_CHILD_BIND_NEW(VertexShader9, ppOut, pDevice, pFunction, cso); + } else { + NINE_DEVICE_CHILD_NEW(VertexShader9, ppOut, pDevice, pFunction, cso); + } } |