From c5e76a262a4246267bbbfa803aebeeb733388e11 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Tue, 24 Jan 2017 21:22:32 +0100 Subject: [PATCH] gallium: enable int64 on radeonsi, llvmpipe, softpipe MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit All of these have had support for the TGSI opcodes since before most of the glsl compiler work landed. Also update the docs accordingly, including the missing note about i965. Reviewed-by: Marek Olšák --- docs/features.txt | 2 +- docs/relnotes/17.1.0.html | 61 ++++++++++++++++++++++++ src/gallium/drivers/llvmpipe/lp_screen.c | 2 +- src/gallium/drivers/radeonsi/si_pipe.c | 4 +- src/gallium/drivers/softpipe/sp_screen.c | 2 +- 5 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 docs/relnotes/17.1.0.html diff --git a/docs/features.txt b/docs/features.txt index aff00167dc9..55b1fbb6f03 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -283,7 +283,7 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve GL_ARB_ES3_2_compatibility DONE (i965/gen8+) GL_ARB_fragment_shader_interlock not started GL_ARB_gl_spirv not started - GL_ARB_gpu_shader_int64 started (airlied for core and Gallium, idr for i965) + GL_ARB_gpu_shader_int64 DONE (i965/gen8+, radeonsi, softpipe, llvmpipe) GL_ARB_indirect_parameters DONE (nvc0, radeonsi) GL_ARB_parallel_shader_compile not started, but Chia-I Wu did some related work in 2014 GL_ARB_pipeline_statistics_query DONE (i965, nvc0, radeonsi, softpipe, swr) diff --git a/docs/relnotes/17.1.0.html b/docs/relnotes/17.1.0.html new file mode 100644 index 00000000000..1b5535b95b2 --- /dev/null +++ b/docs/relnotes/17.1.0.html @@ -0,0 +1,61 @@ + + + + + Mesa Release Notes + + + + +
+

The Mesa 3D Graphics Library

+
+ + +
+ +

Mesa 17.1.0 Release Notes / TBD

+ +

+Mesa 17.1.0 is a new development release. +People who are concerned with stability and reliability should stick +with a previous release or wait for Mesa 17.1.1. +

+

+Mesa 17.1.0 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

+ + +

SHA256 checksums

+
+TBD.
+
+ + +

New features

+ +

+Note: some of the new features are only available with certain drivers. +

+ +
    +
  • GL_ARB_gpu_shader_int64 on i965/gen8+, radeonsi, softpipe, llvmpipe
  • +
+ +

Bug fixes

+ +
    +
+ +

Changes

+ +TBD. + +
+ + diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 6ef22b83035..0982c35303e 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -267,6 +267,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) return 1; case PIPE_CAP_CONDITIONAL_RENDER_INVERTED: case PIPE_CAP_TGSI_ARRAY_COMPONENTS: + case PIPE_CAP_INT64: return 1; case PIPE_CAP_VENDOR_ID: @@ -343,7 +344,6 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY: case PIPE_CAP_TGSI_FS_FBFETCH: case PIPE_CAP_TGSI_MUL_ZERO_WINS: - case PIPE_CAP_INT64: return 0; } /* should only get here on unhandled cases */ diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 9f3cd054303..1fe8b9f2dbf 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -413,7 +413,8 @@ static int si_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_CULL_DISTANCE: case PIPE_CAP_TGSI_ARRAY_COMPONENTS: case PIPE_CAP_TGSI_CAN_READ_OUTPUTS: - case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY: + case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY: + case PIPE_CAP_INT64: return 1; case PIPE_CAP_RESOURCE_FROM_USER_MEMORY: @@ -466,7 +467,6 @@ static int si_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_NATIVE_FENCE_FD: case PIPE_CAP_TGSI_FS_FBFETCH: case PIPE_CAP_TGSI_MUL_ZERO_WINS: - case PIPE_CAP_INT64: return 0; case PIPE_CAP_QUERY_BUFFER_OBJECT: diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c index f5216b08cc5..ec530a4207f 100644 --- a/src/gallium/drivers/softpipe/sp_screen.c +++ b/src/gallium/drivers/softpipe/sp_screen.c @@ -165,6 +165,7 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME: case PIPE_CAP_STREAM_OUTPUT_INTERLEAVE_BUFFERS: case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT: + case PIPE_CAP_INT64: return 1; case PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT: return 16; @@ -293,7 +294,6 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param) case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY: case PIPE_CAP_TGSI_FS_FBFETCH: case PIPE_CAP_TGSI_MUL_ZERO_WINS: - case PIPE_CAP_INT64: return 0; case PIPE_CAP_SHADER_BUFFER_OFFSET_ALIGNMENT: return 4; -- 2.30.2