Closed ondracka closed 2 years ago
BTW I can make it work if I revert mesa commit 6d86292f8acd96c3ac4f6e7c52c9f66475953790
It looks like we don't set PIPE_BIND_CONSTANT_BUFFER for const_uploader. I'll send a patch. Closing here as this is driver bug...
Thanks for investigating !
I've been looking into r300 driver nine problems (with the R5xx generation cards) for some time. So far I managed to to somehow relate it to the vertex shaders (some r300-supported cards don't have hardware vertex shading support, so the driver can switch between hardware and the draw module, and with draw module the situation is a bit better). Now I finally found an app that renders at least something and by looking at the differences between the draw calls that actually render something to the framebuffer and the draws that do not, one notable difference is that the vertex shaders used in the working draws are not using any constants. So as far as I can say, as soon as the shader needs SetVertexShaderConstantF there is no visible rendering, so my current guess is we somehow fail to propagate the constants to the shaders.
I'm quite sure this is not nine fault, I'm just looking for some clues. Now the question is, assuming the above analysis is correct (I have almost no knowledge of nine and d3d), what is nine doing differently (because this obviously works with OpenGL) and therefore what I need to fix in the driver?