From: Samuel Pitoiset Date: Mon, 22 Aug 2016 18:42:39 +0000 (+0200) Subject: nvc0: enable GL 4.3 on gm107+ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f0997e2aa8b5628a8cccbd5adf9b22a053c6be54;p=mesa.git 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 --- 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);