Describe the bug
Taking a game capture when a mesh is being drawn by the remixApi will result in a crash in GameCapturer::captureMaterial.
It seems like the material of the api mesh is being interpreted as a LegacyMaterial and does not contain a valid
colorTexture pointer. Thus, materialData.getColorTexture().getImageView()->image() will access a nullptr and throw an assert:
https://github.com/NVIDIAGameWorks/dxvk-remix/blob/86269785f17a8151aea058bfbdb480d27bf2eaa9/src/dxvk/rtx_render/rtx_game_capturer.cpp#L493C31-L493C43

The meshes I've tried this with had no albedo texture assigned (simple emissive prims and rayportal's)
Note:
I've created a PR with a band-aid fix preventing api meshes from being captured:
NVIDIAGameWorks/dxvk-remix#82
How do you reproduce the bug?
- Create a material, a mesh and then draw it via the remixApi (only tested on x86 through the bridge)
- Take a game capture
What is the expected behavior?
Turning off replacements should also turn off meshes drawn via the api OR they should not be interpreted as legacy meshes
Version
latest
Describe the bug
Taking a game capture when a mesh is being drawn by the remixApi will result in a crash in
GameCapturer::captureMaterial.It seems like the material of the api mesh is being interpreted as a LegacyMaterial and does not contain a valid
colorTexture pointer. Thus,
materialData.getColorTexture().getImageView()->image()will access a nullptr and throw an assert:https://github.com/NVIDIAGameWorks/dxvk-remix/blob/86269785f17a8151aea058bfbdb480d27bf2eaa9/src/dxvk/rtx_render/rtx_game_capturer.cpp#L493C31-L493C43
Note:
I've created a PR with a band-aid fix preventing api meshes from being captured:
NVIDIAGameWorks/dxvk-remix#82
How do you reproduce the bug?
What is the expected behavior?
Turning off replacements should also turn off meshes drawn via the api OR they should not be interpreted as legacy meshes
Version
latest