summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/nvc0
diff options
context:
space:
mode:
authorSamuel Pitoiset <[email protected]>2016-08-22 20:42:39 +0200
committerSamuel Pitoiset <[email protected]>2017-01-12 15:22:21 +0100
commitf0997e2aa8b5628a8cccbd5adf9b22a053c6be54 (patch)
treead37a536d754fd4201e82362b48498df8081e7b0 /src/gallium/drivers/nouveau/nvc0
parent38ff9980d792fc99e8e04898418dd6c9d198750e (diff)
nvc0: enable GL 4.3 on gm107+
Although, arb_shader_image_load_store-atomicity will most likely hang your box, I think it's now quite reasonable to enable GL 4.3 on Maxwell/Pascal GPUs. I suspect that test to be wrong because it doesn't even work on the NVIDIA blob. I have tested a bunch of benchmarks (UE4 demos) and real games like Shadow of Mordor and they all work fine. Signed-off-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/nvc0')
-rw-r--r--src/gallium/drivers/nouveau/nvc0/nvc0_screen.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index 25315913490..b6e4c6cfe96 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -125,9 +125,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_MAX_TEXTURE_BUFFER_SIZE:
return 128 * 1024 * 1024;
case PIPE_CAP_GLSL_FEATURE_LEVEL:
- if (class_3d <= NVF0_3D_CLASS)
- return 430;
- return 410;
+ return 430;
case PIPE_CAP_MAX_RENDER_TARGETS:
return 8;
case PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS:
@@ -388,11 +386,10 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
return 32;
case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
- if (class_3d == NVE4_3D_CLASS || class_3d == NVF0_3D_CLASS)
+ if (class_3d >= NVE4_3D_CLASS)
+ return NVC0_MAX_IMAGES;
+ if (shader == PIPE_SHADER_FRAGMENT || shader == PIPE_SHADER_COMPUTE)
return NVC0_MAX_IMAGES;
- if (class_3d < NVE4_3D_CLASS)
- if (shader == PIPE_SHADER_FRAGMENT || shader == PIPE_SHADER_COMPUTE)
- return NVC0_MAX_IMAGES;
return 0;
default:
NOUVEAU_ERR("unknown PIPE_SHADER_CAP %d\n", param);