diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2017-07-06 18:02:16 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2017-07-06 18:02:16 +0300 |
commit | d35e525d10a572250e3bf52c18739812cb012aa0 (patch) | |
tree | 1cef36b9e93cae2baf7f1e539aa4d2df6ba79150 /source/blender/gpu | |
parent | d02711ed883ee0d1844d49d39a8814aca5b029c3 (diff) |
GPUTexture: Change default comparison mode to GL_NONE.
This default will prevent more errors in the future.
Also compare mode is less used nowadays.
Fixes T51904
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/intern/gpu_lamp.c | 8 | ||||
-rw-r--r-- | source/blender/gpu/intern/gpu_texture.c | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/gpu/intern/gpu_lamp.c b/source/blender/gpu/intern/gpu_lamp.c index 86c40baf5cc..12b9eaf22f8 100644 --- a/source/blender/gpu/intern/gpu_lamp.c +++ b/source/blender/gpu/intern/gpu_lamp.c @@ -281,6 +281,10 @@ GPULamp *GPU_lamp_from_blender(Scene *scene, Object *ob, Object *par) return lamp; } + GPU_texture_bind(lamp->depthtex, 0); + GPU_texture_compare_mode(lamp->depthtex, true); + GPU_texture_unbind(lamp->depthtex); + if (!GPU_framebuffer_texture_attach(lamp->fb, lamp->depthtex, 0, 0)) { gpu_lamp_shadow_free(lamp); return lamp; @@ -338,6 +342,10 @@ GPULamp *GPU_lamp_from_blender(Scene *scene, Object *ob, Object *par) return lamp; } + GPU_texture_bind(lamp->tex, 0); + GPU_texture_compare_mode(lamp->tex, true); + GPU_texture_unbind(lamp->tex); + if (!GPU_framebuffer_texture_attach(lamp->fb, lamp->tex, 0, 0)) { gpu_lamp_shadow_free(lamp); return lamp; diff --git a/source/blender/gpu/intern/gpu_texture.c b/source/blender/gpu/intern/gpu_texture.c index a8d0dccb896..48ed3fc1de1 100644 --- a/source/blender/gpu/intern/gpu_texture.c +++ b/source/blender/gpu/intern/gpu_texture.c @@ -428,7 +428,7 @@ static GPUTexture *GPU_texture_create_nD( if (tex->depth) { glTexParameteri(tex->target_base, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(tex->target_base, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(tex->target_base, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE); + glTexParameteri(tex->target_base, GL_TEXTURE_COMPARE_MODE, GL_NONE); glTexParameteri(tex->target_base, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL); } else { @@ -506,7 +506,7 @@ static GPUTexture *GPU_texture_cube_create( if (tex->depth) { glTexParameteri(tex->target_base, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(tex->target_base, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - glTexParameteri(tex->target_base, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE); + glTexParameteri(tex->target_base, GL_TEXTURE_COMPARE_MODE, GL_NONE); glTexParameteri(tex->target_base, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL); } else { |