On 29 October 2014 18:01, Matteo Bruni mbruni@codeweavers.com wrote:
if (!prev || op->texture->target != prev->target
|| op->texture->resource.format != prev->resource.format)
Shouldn't this just check the color_fixup?
And in principle I think this would apply to vertex shaders as well, except that we don't track color fixups in struct vs_compile_args at all. The real pain will come with d3d10 of course, since you can access a much larger amount of resources there.
2014-10-30 11:45 GMT+01:00 Henri Verbeet hverbeet@gmail.com:
On 29 October 2014 18:01, Matteo Bruni mbruni@codeweavers.com wrote:
if (!prev || op->texture->target != prev->target
|| op->texture->resource.format != prev->resource.format)
Shouldn't this just check the color_fixup?
In theory you can also have depth texture vs color texture (although I guess that's unlikely to happen in practice). There is also NP2 vs P2 textures which don't matter for non-ancient GPUs and I'm actually still not checking here.
And in principle I think this would apply to vertex shaders as well, except that we don't track color fixups in struct vs_compile_args at all.
Yes, we don't apply color fixups in vertex shaders at all. Probably a separate issue...
The real pain will come with d3d10 of course, since you can access a much larger amount of resources there.
Yeah, I guess wined3d_cs_exec_set_shader_resource_view() will require a bunch more checks.