You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This change allows BumpWaves test to work correctly with 45.23 driver, NV20 and NV35.
Additionally, this change fixes rendering of hardware accelerated cube from DxDiag 4.08 with 45.23 driver and NV35.
That looks like a complex piece of code. I wonder how do you reverse/manage to get all these 3D graphics details right... Looks mind-blowing to me. My warmest cheers :)
@sskras, thanks.
While figuring out why DxDiag 4.08 produces wrong colors with NV35, I noticed that register combiners were using uninitialized data from texture register. It happened because DxDiag 4.08 cube is not textured; however, register needed to be filled somehow anyway. For a long time I noticed cases, where both register combiners and pixel shaders were active, but didn't knew how to combine their results. Now I tried to fill texture registers with data from pixel shaders and it gave correctly colored cube.
Having pixel shaders filling texture registers made me wonder about how these registers should be filled with NV20, which has no pixel shaders. For some effects, like environment bump mapping, it is not possible to just sample single texture. Because xemu implements similar GPU, I looked for how texture registers are filled in its source code. It was possible to just implement something similar, but I wanted to have more information, so I also checked Mesa source code and found precise name of mechanism, used in such effects. Quick search revealed quite detailed document, NV_texture_shader, which confirmed formulas found in xemu code.
Unfortunately, sometimes detailed information is not available and results have to be obtained by experimentation, disassembling and guessing. For example, details about how near plane clipping works are not clear. I made several attempts at implementing it right, but each time examples appeared which showed that my guesses were wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change allows BumpWaves test to work correctly with 45.23 driver, NV20 and NV35.
Additionally, this change fixes rendering of hardware accelerated cube from DxDiag 4.08 with 45.23 driver and NV35.