aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* r600/radeonsi: silence zero-length-bounds gcc warningsTimothy Arceri2020-07-083-8/+9
| | | | | Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5766>
* freedreno/ir3: add support for a650 tess shared storageJonathan Marek2020-07-086-5/+29
| | | | | | | | A650 uses LDL/STL, and the "local_primitive_id" in tess ctrl shader comes from bits 16-21 in the header instead of 0-5. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5764>
* gallium: add PIPE_SHADER_CAP_GLSL_16BIT_TEMPS for LowerPrecisionTemporariesMarek Olšák2020-07-0721-0/+27
| | | | | Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: lower mediump temporaries to 16 bits except structures (v2)Marek Olšák2020-07-074-2/+1028
| | | | | | | | | | | Without this, NIR contains non-lowerable 32-bit phis for mediump variables. Structures are not lowered yet. v2: add the LowerPrecisionTemporaries option Reviewed-by: Alyssa Rosenzweig <[email protected]> (v1) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: Handle 16-bit types in loop analysisAlyssa Rosenzweig2020-07-071-0/+9
| | | | | | | | | | Fixes crash with mediump lowering in: dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.basic_mediump_float_fragment Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: add capability to lower mediump array typesMarek Olšák2020-07-071-29/+48
| | | | | | | | This is not needed for lowering expressions, because they always work with basic types, but it will be needed for lowering variables. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: lower builtins to mediump that always return mediump or lowpMarek Olšák2020-07-072-2/+114
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: lower builtins to mediump that ignore precision of certain parametersMarek Olšák2020-07-072-0/+97
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: don't lower builtins to mediump that don't allow itMarek Olšák2020-07-074-15/+334
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: don't lower precision of textureSizeMarek Olšák2020-07-072-0/+19
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: flatten a tautological conditional in lower_precisionMarek Olšák2020-07-071-8/+5
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: cleanups in lower_precisionMarek Olšák2020-07-071-9/+8
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: remove the return type from lower_precisionMarek Olšák2020-07-072-10/+3
| | | | | | | It's unused. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: convert reusable lower_precision util code into helper functionsMarek Olšák2020-07-071-27/+34
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: validate more stuffMarek Olšák2020-07-071-0/+66
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: run validate_ir_tree if GLSL_VALIDATE=1 regardless of the build configMarek Olšák2020-07-071-4/+5
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: fix evaluating float16 constant expression matricesMarek Olšák2020-07-071-0/+6
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: fix the type of ir_constant_data::u16Marek Olšák2020-07-071-1/+1
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: print constant initializersMarek Olšák2020-07-071-0/+10
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: print precision qualifiers in IR dumpsMarek Olšák2020-07-071-2/+3
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* glsl: make print_type non-static for debuggingMarek Olšák2020-07-072-11/+12
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5746>
* anv: Handle clamping of inverted depth rangesJason Ekstrand2020-07-071-2/+10
| | | | | | Tested-by: Mike Blumenkrantz <[email protected]> Reviewed-by: Ivan Briano <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5792>
* llvmpipe: add ARB_post_depth_coverage support.Dave Airlie2020-07-085-18/+34
| | | | | | | | This doesn't pass thie piglits because currently they are broken for case where GL upgrades 2 samples to 4 Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5767>
* ci/virgl: update results after streams fixes.Dave Airlie2020-07-082-5/+2
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* draw/gs: use mask to limit vertex emission.Dave Airlie2020-07-085-2/+8
| | | | | | | | | | | | When executing for a single primitive, the mask has only one active lane, however the vertex emit emits for all the lanes, pass in the active mask and write the excess lanes to the overflow slot. Fixes: glsl-1.50-gs-max-output -scan 1 20 Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* draw: free vertex info from geometry streams.Dave Airlie2020-07-081-0/+5
| | | | | | | This info needs to be freed for the non-0 stream. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* draw: use common exit path in pipeline finish.Dave Airlie2020-07-081-7/+2
| | | | | | | I need to add a missing free here, and it seems pointless duplication Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* draw/gs: reverse the polarity of the invocation/prims executionDave Airlie2020-07-081-30/+27
| | | | | | | | | | | | The current code runs primitives per invocation, but the spec wants invocations per primitive. However it means having to flush after each invocation to get correct XFB behaviour Fixes: GTF-GL41.gtf40.GL3Tests.transform_feedback3.transform_feedback3_geometry_instanced Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* draw: account primitive lengths for all streams.Dave Airlie2020-07-082-5/+7
| | | | | | | | | | | | | For correct XFB queries all streams must get primitive lengths recorded. This allocates larger memory for per-stream lengths and the shader write into them. Fixes: GTF-GL41.gtf40.GL3Tests.transform_feedback3.transform_feedback3_streams_queried GTF-GL41.gtf40.GL3Tests.transform_feedback3.transform_feedback3_streams_overflow Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* gallivm/nir: end primitive for all streams.Dave Airlie2020-07-081-4/+3
| | | | | | | Call the end primitive for all streams so it can be accounted properly Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* gallivm/nir: don't access stream var outside boundsDave Airlie2020-07-081-0/+4
| | | | | | | | Since we allocate only enough for streams we see, don't access out of bounds when streams are given Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* gallivm/gs_iface: pass stream into end primitive interface.Dave Airlie2020-07-085-5/+5
| | | | | | | This is just an API change for now Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* draw/gs: only allocate memory for streams needed.Dave Airlie2020-07-081-2/+2
| | | | | | | This just allocates the sizeing for streams that are needed. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* gallivm/draw/gs: pass vertex stream count into shader buildDave Airlie2020-07-084-2/+6
| | | | | | | The shader builder can avoid iterations using this info. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* draw/gs: fix up current verts in output fetching.Dave Airlie2020-07-081-1/+1
| | | | | | | | This was wrong since I added multi-stream support in draw/gs: track emitted prims + verts per stream Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* draw: emit so primitives before ending empty pipeline.Dave Airlie2020-07-081-3/+4
| | | | | | | | | | | There may be non-stream 0 emitted primitives that have to be processed. Fixes: KHR-GL42.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream KHR-GL42.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* gallivm/nir: call end prim at end on all GS streams.Dave Airlie2020-07-081-1/+2
| | | | | | | Fixes: KHR-GL45.transform_feedback.draw_xfb_stream_test Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5555>
* broadcom/qpu: set VC5_QPU_RADDR_A out of the switch at _pack_branchNeil Roberts2020-07-071-5/+5
| | | | | | | Detected after mesa added Wimplicit-fallthrough project wide. Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5769>
* aco: use VOP2 version of v_mbcnt_hi_u32_b32 on GFX6/7Rhys Perry2020-07-072-2/+6
| | | | | | | | | | fossil-db (Pitcairn): Totals from 2172 (1.58% of 137414) affected shaders: CodeSize: 7109080 -> 7100100 (-0.13%) Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5623>
* util: Share a single function pointer for the 4-byte rgba unpack function.Eric Anholt2020-07-0720-147/+116
| | | | | | | | Everyone wants the same behavior, and this helps shrink the size of our format description tables. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* util: Remove the stub pack/unpack functions for YUV formats.Eric Anholt2020-07-073-741/+27
| | | | | | | If we can't pack/unpack them, the field is supposed to be NULL. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* llvmpipe: Generalize "could llvmpipe fetch this format" check in unit testing.Eric Anholt2020-07-071-11/+7
| | | | | | | | | This set of checks matched the "access" list in u_format_table.py that controls initializing this this function pointer, so just use the function pointer. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* util: Use designated initializers to clean up the format tables' pack/unpack.Eric Anholt2020-07-071-51/+28
| | | | | | | | | The generated .c had a bunch of NULLs and notes for what kind of function was being skipped, when we can just skip them by filling in the fields with names. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* util: Merge util_format_read_4* functions.Eric Anholt2020-07-075-135/+53
| | | | | | | | Everyone wants the same thing: unpack 4-bytes-per-channel data based on the base type of the format. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* util: Merge util_format_write_4* functions.Eric Anholt2020-07-074-105/+28
| | | | | | | | Everyone wants the same thing: pack 4-bytes-per-channel data based on the base type of the format. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* svga: Reuse util_format_unpack_rgba().Eric Anholt2020-07-071-12/+1
| | | | | | | This assumes that pipe_color_union is a vec4, but that seems safe. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* gallium/util: Move the Z/S handling to the outside of get_tile().Eric Anholt2020-07-071-51/+46
| | | | | | | | This lets us drop the special case for S8_UINT, and makes our read_4 path just like other callers. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* gallium/util: Clean up the Z/S tile write path.Eric Anholt2020-07-071-27/+10
| | | | | | | | The switch statement is silly, we have a helper to detect all of Z/S. And, take the time explain why all of Z/S tile writing is unimplemented. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* gallium/util: Fix location of the comment about S8_UINT handling.Eric Anholt2020-07-071-4/+4
| | | | | | | | I clearly wrote it in the wrong place in "softpipe: Refactor pipe_get/put_tile_rgba_* paths." Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>
* etnaviv: Use the util_pack_color_union() helper.Eric Anholt2020-07-071-7/+1
| | | | | | | | This snuck in since I cleaned up the other instances of it. Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5728>