Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntony Riakiotakis <kalast@gmail.com>2015-05-18 23:05:38 +0300
committerAntony Riakiotakis <kalast@gmail.com>2015-05-18 23:10:54 +0300
commit65328fadc3c63c73d5c2e2e977de3dad5bd74219 (patch)
tree71189005c558e5accb4db98c55677008eed4311a /source/blender
parent598c2dffe92f5a5deea5d2da97c405f93f7941a4 (diff)
Final solution for Intel card Ambient Occlusion in T43987.
Forgot to account for offscreen case in addition to compositing
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/gpu/intern/gpu_compositing.c2
-rw-r--r--source/blender/gpu/intern/gpu_extensions.c21
2 files changed, 8 insertions, 15 deletions
diff --git a/source/blender/gpu/intern/gpu_compositing.c b/source/blender/gpu/intern/gpu_compositing.c
index bf3d1753888..2bafee0fb52 100644
--- a/source/blender/gpu/intern/gpu_compositing.c
+++ b/source/blender/gpu/intern/gpu_compositing.c
@@ -724,7 +724,7 @@ bool GPU_fx_do_composite_pass(GPUFX *fx, float projmat[4][4], bool is_persp, str
sample_params[1] = fx->gbuffer_dim[0] / 64.0;
sample_params[2] = fx->gbuffer_dim[1] / 64.0;
- ssao_params[3] = (passes_left == 1) ? dfdyfac[0] : dfdyfac[1];
+ ssao_params[3] = (passes_left == 1 && !ofs) ? dfdyfac[0] : dfdyfac[1];
ssao_uniform = GPU_shader_get_uniform(ssao_shader, "ssao_params");
ssao_color_uniform = GPU_shader_get_uniform(ssao_shader, "ssao_color");
diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index 976a65aff7c..0fcdd87a1ff 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -263,20 +263,13 @@ void gpu_extensions_init(void)
GG.dfdyfactors[0] = 1.0;
GG.dfdyfactors[1] = -1.0;
}
- else if (GG.device == GPU_DEVICE_INTEL && GG.os == GPU_OS_WIN) {
- if (strstr(version, "4.0.0 - Build 9.18.10.3165"))
- {
- GG.dfdyfactors[0] = -1.0;
- GG.dfdyfactors[1] = 1.0;
- }
- else if (strstr(version, "3.1.0 - Build 9.17.10.4101")) {
- GG.dfdyfactors[0] = -1.0;
- GG.dfdyfactors[1] = -1.0;
- }
- else {
- GG.dfdyfactors[0] = 1.0;
- GG.dfdyfactors[1] = 1.0;
- }
+ else if (GG.device == GPU_DEVICE_INTEL && GG.os == GPU_OS_WIN &&
+ (strstr(version, "4.0.0 - Build 9.18.10.3165") ||
+ strstr(version, "3.1.0 - Build 9.17.10.3347") ||
+ strstr(version, "3.1.0 - Build 9.17.10.4101")))
+ {
+ GG.dfdyfactors[0] = -1.0;
+ GG.dfdyfactors[1] = 1.0;
}
else {
GG.dfdyfactors[0] = 1.0;