diff --git a/src/FNA3D_Driver_SDL.c b/src/FNA3D_Driver_SDL.c index d7588787..c6da7a71 100644 --- a/src/FNA3D_Driver_SDL.c +++ b/src/FNA3D_Driver_SDL.c @@ -1725,19 +1725,26 @@ static void SDLGPU_VerifyVertexSampler( { renderer->vertexTextureSamplerBindings[index].sampler = renderer->dummySampler; - samplerType = MOJOSHADER_sdlGetShaderParseData(vertShader)->samplers[index].type; - - if (samplerType == MOJOSHADER_SAMPLER_2D) - { - renderer->vertexTextureSamplerBindings[index].texture = renderer->dummyTexture2D; - } - else if (samplerType == MOJOSHADER_SAMPLER_VOLUME) + if (vertShader) { - renderer->vertexTextureSamplerBindings[index].texture = renderer->dummyTexture3D; - } + samplerType = MOJOSHADER_sdlGetShaderParseData(vertShader)->samplers[index].type; + + if (samplerType == MOJOSHADER_SAMPLER_2D) + { + renderer->vertexTextureSamplerBindings[index].texture = renderer->dummyTexture2D; + } + else if (samplerType == MOJOSHADER_SAMPLER_VOLUME) + { + renderer->vertexTextureSamplerBindings[index].texture = renderer->dummyTexture3D; + } + else + { + renderer->vertexTextureSamplerBindings[index].texture = renderer->dummyTextureCube; + } + } else { - renderer->vertexTextureSamplerBindings[index].texture = renderer->dummyTextureCube; + renderer->vertexTextureSamplerBindings[index].texture = renderer->dummyTexture2D; } return; @@ -1780,18 +1787,25 @@ static void SDLGPU_VerifySampler( { renderer->fragmentTextureSamplerBindings[index].sampler = renderer->dummySampler; - samplerType = MOJOSHADER_sdlGetShaderParseData(fragShader)->samplers[index].type; - if (samplerType == MOJOSHADER_SAMPLER_2D) - { - renderer->fragmentTextureSamplerBindings[index].texture = renderer->dummyTexture2D; - } - else if (samplerType == MOJOSHADER_SAMPLER_VOLUME) + if (fragShader) { - renderer->fragmentTextureSamplerBindings[index].texture = renderer->dummyTexture3D; + samplerType = MOJOSHADER_sdlGetShaderParseData(fragShader)->samplers[index].type; + if (samplerType == MOJOSHADER_SAMPLER_2D) + { + renderer->fragmentTextureSamplerBindings[index].texture = renderer->dummyTexture2D; + } + else if (samplerType == MOJOSHADER_SAMPLER_VOLUME) + { + renderer->fragmentTextureSamplerBindings[index].texture = renderer->dummyTexture3D; + } + else + { + renderer->fragmentTextureSamplerBindings[index].texture = renderer->dummyTextureCube; + } } - else + else { - renderer->fragmentTextureSamplerBindings[index].texture = renderer->dummyTextureCube; + renderer->fragmentTextureSamplerBindings[index].texture = renderer->dummyTexture2D; } return;