Pass down the texture compare state.
Depth format textures can have a comparison operation performed after
their texels have been sampled.
Change-Id: I49f6bb7fab9765265761144ee8b6b62439beb5a3
Reviewed-on: https://swiftshader-review.googlesource.com/5870
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Renderer/Renderer.cpp b/src/Renderer/Renderer.cpp
index b7c423f..43e01bc 100644
--- a/src/Renderer/Renderer.cpp
+++ b/src/Renderer/Renderer.cpp
@@ -420,7 +420,7 @@
{
for(int sampler = 0; sampler < VERTEX_TEXTURE_IMAGE_UNITS; sampler++)
{
- if(vertexState.samplerState[sampler].textureType != TEXTURE_NULL)
+ if(vertexState.sampler[sampler].textureType != TEXTURE_NULL)
{
draw->texture[TEXTURE_IMAGE_UNITS + sampler] = context->texture[TEXTURE_IMAGE_UNITS + sampler];
draw->texture[TEXTURE_IMAGE_UNITS + sampler]->lock(PUBLIC, PRIVATE);
@@ -2388,6 +2388,18 @@
}
}
+ void Renderer::setCompareFunc(SamplerType type, int sampler, CompareFunc compFunc)
+ {
+ if(type == SAMPLER_PIXEL)
+ {
+ PixelProcessor::setCompareFunc(sampler, compFunc);
+ }
+ else
+ {
+ VertexProcessor::setCompareFunc(sampler, compFunc);
+ }
+ }
+
void Renderer::setBaseLevel(SamplerType type, int sampler, int baseLevel)
{
if(type == SAMPLER_PIXEL)