summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-04-01docs: add release notes for 17.0.3Andres Gomez1-0/+188
Signed-off-by: Andres Gomez <agomez@igalia.com> (cherry picked from commit 7f34ecae7fddd3435346f0475557b34920763422)
2017-04-01glsl: ir_explog_to_explog2 is no moreErik Faye-Lund2-2/+6
Since 63684a9a ("glsl: Combine many instruction lowering passes into one.", Thu Nov 18 2010), we no longer have anything called ir_explog_to_explog2. So it's only confusing to have those references there. Update with the appropriate method, so people can grep for it in the current tree if they encounter it. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-04-01gallium/docs: remove documentation of removed argErik Faye-Lund1-2/+0
geom was removed in e968975 ("gallium: remove the geom_flags param from is_format_supported", Tue Mar 8 00:01:58 2011 +0100), but the documentation of it was left over. Let's bring the documentation up to date. Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-04-01st/mesa: avoid aliasing violation in st_cb_perfmon.cErik Faye-Lund1-3/+3
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-04-01st: Add cubeMapFace parameter to st_finalize_texture.Michal Srb7-8/+10
st_finalize_texture always accesses image at face 0, but it may not be set if we are working with cubemap that had other face set. This fixes crash in piglit same-attachment-glFramebufferTexture2D-GL_DEPTH_STENCIL_ATTACHMENT. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-03-31vulkan: Bump the header and XML to the latest public versionJason Ekstrand2-513/+756
2017-03-31nv50/ir: also do PostRaLoadPropagation for FMAKarol Herbst2-1/+2
Helps Feral-ported games, due to their use of fma() shader-db changes: total instructions in shared programs : 3934925 -> 3934327 (-0.02%) total gprs used in shared programs : 481563 -> 481563 (0.00%) total local used in shared programs : 27469 -> 27469 (0.00%) total bytes used in shared programs : 36061888 -> 36056504 (-0.01%) local gpr inst bytes helped 0 0 228 228 hurt 0 0 0 0 Signed-off-by: Karol Herbst <karolherbst@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31gm107/ir: add LIMM form of madKarol Herbst2-11/+26
v2: renamed commit reordered modifiers add assert(dst == src2) v3: reordered modifiers again v5: no rounding bit for limms Signed-off-by: Karol Herbst <karolherbst@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31gk110/ir: add LIMM form of madKarol Herbst2-18/+34
v2: renamed commit reordered modifiers add assert(dst == src2) v3: removed wrong neg mod emission Signed-off-by: Karol Herbst <karolherbst@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31nv50/ir: implement mad post ra folding for nvc0+Karol Herbst1-4/+47
changes for GpuTest /test=pixmark_piano /benchmark /no_scorebox /msaa=0 /benchmark_duration_ms=60000 /width=1024 /height=640: score: 1026 -> 1045 changes for shader-db: total instructions in shared programs : 3943335 -> 3934925 (-0.21%) total gprs used in shared programs : 481563 -> 481563 (0.00%) total local used in shared programs : 27469 -> 27469 (0.00%) total bytes used in shared programs : 36139384 -> 36061888 (-0.21%) local gpr inst bytes helped 0 0 3587 3587 hurt 0 0 0 0 v2: removed TODO reorderd to show changes without RA modification removed stale debugging print() call v3: remove predicate checks enable only for gf100 ISA Signed-off-by: Karol Herbst <karolherbst@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31nv50/ir: restructure and rename postraconstantfolding passKarol Herbst1-58/+63
we might want to add more folding passes here, so make it a bit more generic v2: leave the comment and reword commit message v4: rename it to PostRaLoadPropagation Signed-off-by: Karol Herbst <karolherbst@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31nvc0/ir: also do ConstantFolding for FMAKarol Herbst1-0/+1
Helps mainly Feral-ported games, due to their use of fma() shader-db changes: total instructions in shared programs : 3941587 -> 3940749 (-0.02%) total gprs used in shared programs : 481511 -> 481460 (-0.01%) total local used in shared programs : 27469 -> 27481 (0.04%) total bytes used in shared programs : 36123344 -> 36115776 (-0.02%) local gpr inst bytes helped 2 48 243 243 hurt 2 3 32 32 Signed-off-by: Karol Herbst <karolherbst@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31nvc0/ir: disable support for LIMMs on MAD/FMAKarol Herbst1-8/+2
I hit an assert in the emiter while toying around with optimizations, because ConstantFolding immediated a big int into a mad. There is special handling for FMA/MAD in insnCanLoad, which is broken. With this patch the special path should be not hit anymore. Anyway, the constraints for the LIMMS can't be guarenteed in SSA form and I have patches pending to use it via a post-SSA optimization pass. As a result, immediates get immediated for int mad/fmas as well. changes in shader-db: total instructions in shared programs : 3943335 -> 3941587 (-0.04%) total gprs used in shared programs : 481563 -> 481511 (-0.01%) total local used in shared programs : 27469 -> 27469 (0.00%) total bytes used in shared programs : 36139384 -> 36123344 (-0.04%) Signed-off-by: Karol Herbst <karolherbst@gmail.com> [imirkin: remove extra bit from insnCanLoad as well] Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31nvc0: Add support for NV_fill_rectangle for the GM200+Lyude5-2/+14
This enables support for the GL_NV_fill_rectangle extension on the GM200+ for Desktop OpenGL. Signed-off-by: Lyude <lyude@redhat.com> Changes since v1: - Fix commit message - Add note to reldocs Changes since v2: - Remove unnessecary parens in nvc0_screen_get_param() - Fix sorting in release notes - Don't execute FILL_RECTANGLE method on pre-GM200+ GPUs Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31st/mesa: Add support for NV_fill_rectangleLyude2-0/+3
Signed-off-by: Lyude <lyude@redhat.com> Changes since v1: - Fix commit name Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31gallium: Add NV_fill_rectangle to pipe stateLyude1-0/+1
Signed-off-by: Lyude <lyude@redhat.com> Changes since v1: - Fix accidental widening of bitfields Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31gallium: Add a cap to check if the driver supports fill_rectangleLyude17-0/+20
Changes since v1: - Add pipe caps for etnaviv, freedreno, swr and virgl Signed-off-by: Lyude <lyude@redhat.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31mesa: Add support for GL_NV_fill_rectangleLyude4-2/+26
Since we don't have the bits required to support this in OpenGLES yet, this only enables support for Desktop OpenGL Signed-off-by: Lyude <lyude@redhat.com> Changes since v1: - Simply _mesa_PolygonMode() a little bit - Fix formatting in OpenGL spec excerpts - Move polygon mode checking into _mesa_valid_to_render() Changes since v3: - Improve error message for invalid drawings with GL_FILL_RECTANGLE_NV Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-03-31glapi: Add GL_NV_fill_rectangleLyude1-0/+4
Signed-off-by: Lyude <lyude@redhat.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2017-04-01gallium: remove support for predicates from TGSI (v2)Marek Olšák36-694/+26
Neved used. v2: gallivm: rename "pred" -> "exec_mask" etnaviv: remove the cap gallium: fix tgsi_instruction::Padding Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2017-04-01radv: enable tessellation shaders.Dave Airlie2-9/+10
This enables tessellation shaders and sets some values for the maximums. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: setup lds for tessellationDave Airlie1-0/+12
This seems to get lost in the rebases, should fix the tessellation demos, crash in llvm. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: add ia_multi_vgt_param tessellation support.Dave Airlie1-2/+30
This just ports the relevant radeonsi pieces. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/cmd: emit tessellation state.Dave Airlie1-4/+109
This emits the tessellation shaders and state to the command stream. It contains the logic to emit the LS/HS shaders. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/pipeline: handle tessellation shader compilationDave Airlie1-0/+142
So tess shaders have some circular dependencies, TCS needs the TES primitive mode TES needs the TCS vertices out This builds the nir for each shader first to get the info, executes a tes specific nir pass, then builds the LLVM shaders. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: handle writing out tess factors.Dave Airlie1-0/+238
This ports the code from radeonsi to build the if/endif, and ports the tess factor emission code. This code has an optimisation TODO that we can deal with later. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: add support for TCS/TES inputs/outputs.Dave Airlie1-10/+508
This adds support for the tessellation inputs/outputs to the shader compiler, this is one of the main pieces of the patch. It is very similiar to the radeonsi code (post merge we should consider if there are better sharing opportunities). The main differences from radeonsi, is that we can have "compact" varyings for clip/cull/tess factors, and we have to add special handling for these. This consists of treating the const index from the deref different depending on the compactness. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: add clip support for tess eval shader.Dave Airlie1-0/+5
As this may be the last shader to emit clip distances. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: hook up tessellation intrinsics.Dave Airlie1-1/+34
This just adds support for the nir intrinsics that tessellation uses. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: hook up shader information handling for tessellationDave Airlie1-0/+26
This hooks up the tessellation shader info to the nir values and ctx generated ones. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/pipeline: start calculating tess stage.Dave Airlie2-9/+208
This calculates the pipeline state for tessellation. It moves the gs ring calculation down to below where the tessellation shaders will be compiled, as it needs the info from those shaders. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: add tessellation support to variant code.Dave Airlie1-6/+9
This just fills out the rsrc registers for tess shaders. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: add tessellation support to shader namingDave Airlie1-1/+3
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: add tess ctrl stage barrier workaround for SI.Dave Airlie1-2/+10
This just ports the workaround from radeonsi. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: add support for patch inputs to unique index code.Dave Airlie1-0/+8
This add support for tessellation patch inputs to the code that finds the unique parameter index. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: port polaris vgt vertex reuse workaround.Dave Airlie2-1/+18
This ports the VGT_VERTEX_REUSE register settings for Polaris GPUs from radeonsi. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: configure tessellation distribution register.Dave Airlie1-4/+12
This just takes the radeonsi values. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: setup tessellation shader inputs.Dave Airlie1-1/+81
This just configures all the register inputs for the tessellation related stages. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: setup tess rings on compiler side.Dave Airlie2-1/+14
This just sets up the necessary pointers on the compiler side for the rings needed for tessellation. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: add tessellation ring allocation support. (v2)Dave Airlie3-13/+203
This patch adds support for the offchip rings for storing tessellation factors and attribute data. It includes the register setup for the TF ring v2: always do tess ring size calcs (Bas) Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: add support for some device specific tess information.Dave Airlie2-0/+8
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv/ac: add tess changes to shader keys/infoDave Airlie1-0/+40
This adds the tess pieces for shader keys and shader info, it adds the necessary bits to the vertex key/info as well. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: add tess shader stage user data support.Dave Airlie1-7/+38
This just adds support for tess to the shader stage conversion and emits the per-stage descriptors/constants for tess stages. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: use defines for ring descriptor offsets.Dave Airlie2-4/+11
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: add helper function to denote if tess is enabled on a pipeline.Dave Airlie1-0/+5
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: handle clip dist in es outputs.Dave Airlie1-2/+1
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: drop unneeded startDave Airlie1-2/+2
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-04-01radv: fixup geometry clip emission since using the geom passDave Airlie1-1/+2
Fixes: 2b35b60d: radv: move to using nir clip/cull merge pass. Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-03-31radeonsi/gfx9: allow CMASK fast clear with RB+Marek Olšák1-5/+5
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2017-03-31radeonsi/gfx9: don't compare src_va w/ dst_va for CP_DMA_CLEARMarek Olšák1-1/+2
src_va contains the clear value in this case. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>