Mesa (vulkan): 241 new commits
Jason Ekstrand
jekstrand at kemper.freedesktop.org
Sat Apr 2 01:13:00 UTC 2016
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc1320220f165269776dbd848b89f8561727d453
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Apr 1 15:44:43 2016 -0700
nir/gather_info: Add an assert for supported stages
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ebb0bcc11d24835cd0c30a824fa86bd6577e0684
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Apr 1 15:39:46 2016 -0700
nir: Move variable_get_io_mask back into gather_info
It used to be in nir_gather_info.c until I moved it out to nir.h so it
could be re-used with some linking code that never got merged. We'll move
it back out if and when we have real code to share it with.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=95106f6bfbbb87b702e4bbba98e2eaea71924cd9
Merge: cf22570 14c4695
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Apr 1 14:59:38 2016 -0700
Merge remote-tracking branch 'public/master' into vulkan
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=14c46954c910efb1db94a068a866c7259deaa9d9
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 13:57:15 2016 -0700
i965: Add an implemnetation of nir_op_fquantize2f16
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=de60e250f5095a9237727a3188eb0c092a4e6a05
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 13:58:17 2016 -0700
nir: Add an opcode for stomping a 32-bit value to 16-bit precision
This correlates directly to the SPIR-V opcode OpQuantizeToF16
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60e1c6a7fce82e48a36e3a5605222009c47f59bb
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon Feb 8 18:19:47 2016 +0100
nvc0: enable compute shaders on GK104 and GM107+
Compute support on GK110 is still unstable for weird reasons, but
this can be fixed later as the NVF0_COMPUTE envvar prevent using
compute.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=71f327aa21d095f848c2162247476612eca1ed73
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon Feb 8 18:20:02 2016 +0100
nvc0: bump the maximum number of UBOs for compute on Kepler
The maximum number of uniform blocks (MAX_COMPUTE_UNIFORM_BLOCKS)
per compute program must be at least 12.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=839a469166b9c0b9959620eda85a6481f9efa15f
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon Mar 7 18:56:21 2016 +0100
nvc0/ir: do not lower shared+atomics on GM107+
For Maxwell, the ATOMS instruction can be used to perform atomic
operations on shared memory instead of this load/store lowering pass.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=543fb95473e404b7212eea3f00a23dd0d23758d5
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Wed Feb 10 22:37:42 2016 +0100
nvc0/ir: add atomics support on shared memory for Kepler
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=275019d7db033286e41eb4983ac50d3d3d335586
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon Feb 22 23:20:30 2016 +0100
nvc0/ir: fix wrong pred emission for ld lock on GK104
This fixes 84b9b8f (nvc0/ir: add missing emission of locked load
predicate).
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f58b78c309db372d408912ca87e88d319b895da
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Thu Mar 31 00:50:39 2016 +0200
nvc0/ir: add support for compute UBOs on Kepler
Make sure to avoid out of bounds access in presence of indirect
array indexing by loading the size from the driver constant buffer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b246a71d7fe12c4b0670a9dadf566ea3eca1128
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Thu Jan 14 18:24:53 2016 +0100
nvc0: add indirect compute support on Kepler
The grid size is stored as three 32-bits integers in the indirect
buffer but the launch descriptor uses a 32-bits integer for both
griddim_y and griddim_z like this (z << 16) | y. To make it work,
the 16 high bits of griddim_y are overwritten by griddim_z.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7797d5f7d9b367f96200093cbe166c4478eae65e
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon Feb 22 21:44:25 2016 +0100
nvc0: reduce likelihood of collision for real buffers on Kepler
Reduce likelihood of collision with real buffers by placing the
hole at the top of the 4G area. This fixes some indirect draw+compute
tests with large buffers.
Suggested by Ilia Mirkin.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2e8085fac13a7af33feaf11a9c085467d257490
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Thu Mar 31 00:50:23 2016 +0200
nvc0: store ubo info to the driver constbuf on Kepler
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=12aa047c98e597a109b387e9b71cd87bff0dea0a
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon Jan 11 21:22:58 2016 +0100
nvc0: bind user uniforms for compute on Kepler
Uniform buffer objects will be sticked to the driver constant buffer
like buffers because the launch descriptor only allows 8 CBs.
Input kernel parameters for OpenCL are still uploaded to screen->parm
which is bound on c0, but this will be changed later with a new series.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1828d90a0084a4bfce4f1bff8cac8a87d1dfcd40
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon Jan 11 16:05:59 2016 +0100
nvc0: bind shader buffers for compute on Kepler
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=debd9105122586ee00c0d20a73bb4e3191c50e70
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Wed Feb 24 17:03:57 2016 +0100
nvc0: bind driver cb for compute on c7[] for Kepler
Instead of using the screen->parm buffer object which will be removed,
upload auxiliary constants to uniform_bo to be consistent regarding
what we already do for Fermi.
This breaks surfaces support (for compute only) but this will be
properly re-introduced later for ARB_shader_image_load_store.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f72de6f3863049106288b7dd66efeb64c822fb17
Author: Jose Fonseca <jfonseca at vmware.com>
Date: Fri Apr 1 21:17:18 2016 +0100
gallivm: Prevent disassembly debug output from being truncated.
By using os_log_message directly, as _debug_vprintf truncates messages
to 4K.
Also cleanup the disassemble interface.
Spotted by Roland.
Trivial.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=972054f5bfa3f0349a44db7cf508d611a0832e52
Author: Rob Clark <robclark at freedesktop.org>
Date: Tue Mar 29 10:49:03 2016 -0400
compiler: random comment fixup
Just noticed this in passing.. gl_shader_stage already has tess so this
comment no longer applies.
Signed-off-by: Rob Clark <robclark at freedesktop.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=58557b345c1382aeeef747060ba14d9edc6362de
Author: Brian Paul <brianp at vmware.com>
Date: Thu Mar 31 10:30:07 2016 -0600
docs: minor updates to license.html file
Mesa demos are no longer part of the main Mesa tree/tarball.
Add Gallium and GLX code to list of major components.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e09d04cd56eaca4db027c7faa3f92f4fb18b6751
Author: Mauro Rossi <issor.oruam at gmail.com>
Date: Sun Feb 21 20:57:47 2016 +0100
radeonsi: use util_strchrnul() to fix android build error
Android Bionic does not support strchrnul() string function,
gallium auxiliary util/u_string.h provides util_strchrnul()
This change avoids the following building error:
external/mesa/src/gallium/drivers/radeonsi/si_shader.c:3863: error:
undefined reference to 'strchrnul'
collect2: error: ld returned 1 exit status
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=952720ccee0b4e97729e1972cf22b463641f1569
Author: Rob Herring <robh at kernel.org>
Date: Tue Feb 2 14:23:11 2016 -0600
egl: android: enable EGL_FRAMEBUFFER_TARGET_ANDROID and EGL_RECORDABLE_ANDROID
Set EGL_FRAMEBUFFER_TARGET_ANDROID and EGL_RECORDABLE_ANDROID config
attributes to true for Android. These are required in Marshmallow.
The implementation of EGL_RECORDABLE_ANDROID support has 2 options in
the definition of the extension. Android implements the 2nd option
which is the encoder must support RGB input. The requested input format
is RGB888, so setting the attribute on all the native Android visual
formats should be sufficient.
Similarly, setting EGL_FRAMEBUFFER_TARGET_ANDROID for all configs with
a EGL_NATIVE_VISUAL_ID should be sufficient. Most likely, the HWC should
support the same set of formats the underlying DRM driver supports.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Rob Herring <robh at kernel.org>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e21e81aa1885287e438970429d44abb8b3dabb96
Author: Rob Herring <robh at kernel.org>
Date: Tue Feb 2 14:23:08 2016 -0600
egl: Add EGL_RECORDABLE_ANDROID attribute
This is used by Android to select an eglconfig compatible with screen
recording.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Rob Herring <robh at kernel.org>
[Emil Velikov: add the _eglIsConfigAttribValid check]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8975527f58afd4af77966c6e46b485fc04008779
Author: Rob Herring <robh at kernel.org>
Date: Tue Feb 2 14:23:07 2016 -0600
egl: Add EGL_FRAMEBUFFER_TARGET_ANDROID attribute
This is used by Android to select an eglconfig compatible with HWComposer.
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Rob Herring <robh at kernel.org>
[Emil Velikov: add the _eglIsConfigAttribValid check]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d9e0f24e1a13648a9bceb03dbfb438e03c81fd7
Author: Rob Herring <robh at kernel.org>
Date: Tue Feb 2 14:45:07 2016 -0600
Android: fix x86 gallium builds
Builds with gallium enabled fail on x86 with linker error:
external/mesa3d/src/mesa/vbo/vbo_exec_array.c:127: error: undefined reference to '_mesa_uint_array_min_max'
The problem is sse_minmax.c is not included in the libmesa_st_mesa
library. Since the SSE4.1 files are needed for both libmesa_st_mesa
and libmesa_dricore, move SSE4.1 files into a separate static library
that can be used by both.
Cc: "11.1 11.2" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Rob Herring <robh at kernel.org>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cdf7c6b83dad7eb6a7600af61403315b02dcf13f
Author: Jose Fonseca <jfonseca at vmware.com>
Date: Thu Mar 31 23:37:34 2016 +0100
gallivm: Use vector selects on LLVM 3.3+.
This is an old patch I had around.
Vector selects seem to work well from LLVM 3.3. Using them should
improve code quality, as it might make constant propagation pass more
effective.
Tested lp_test_*
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cd7d631c71bb1342a6607a193918ccb3289c0bbf
Author: Alejandro Piñeiro <apinheiro at igalia.com>
Date: Fri Apr 1 09:11:15 2016 +0200
glsl: do not raise unitialized variable warnings on builtins/reserved GL variables
Needed because not all the built-in variables are marked as system
values, so they still have the mode ir_var_auto. Right now it fixes
raising the warning when gl_GlobalInvocationID and
gl_LocalInvocationIndex are used.
v2: use is_gl_identifier instead of filtering for some names (Ilia
Mirkin)
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=df03be196abc34bdf29ff1119099e1477a991ad3
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Thu Mar 31 21:52:13 2016 -0400
nv50,nvc0: add PIPE_BIND_LINEAR support to is_format_supported
vdpau has recently come to rely on this, so make sure to check it
properly.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0e16830873b945a24880ae515466bf7f9165f42
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Thu Mar 31 00:48:01 2016 -0400
mesa: add GL_OES/EXT_draw_buffers_indexed support
This is the same ext as ARB_draw_buffers_blend (plus some core
functionality that already exists). Add the alias entrypoints.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a57320a9ba4f453c567716bf8270c0ac629ad0d2
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Mar 31 00:53:21 2016 -0700
i965: Use brw->urb.min_vs_urb_entries instead of 32 for BLORP.
Haswell GT2 and GT3 have a minimum of 64 entries. Hardcoding 32
is not legal.
v2: Delete stale comment (caught by Alejandro).
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=58d4751fa0c5a38069879e9f72047b75f8351d93
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Mar 29 09:58:11 2016 -0700
i965: Fix textureSize() depth value for 1 layer surfaces on Gen4-6.
According to the Sandybridge PRM's description of the resinfo message,
the .z value returned will be Depth == 0 ? 0 : Depth + 1. The earlier
PRMs have the same table.
This means we return 0 for array textures with a single slice, when
we ought to return 1. Just override it to max(depth, 1).
Fixes 10 dEQP-GLES3.functional tests on Sandybridge:
shaders.texture_functions.texturesize.sampler2darray_fixed_vertex
shaders.texture_functions.texturesize.sampler2darray_fixed_fragment
shaders.texture_functions.texturesize.sampler2darray_float_vertex
shaders.texture_functions.texturesize.sampler2darray_float_fragment
shaders.texture_functions.texturesize.isampler2darray_vertex
shaders.texture_functions.texturesize.isampler2darray_fragment
shaders.texture_functions.texturesize.usampler2darray_vertex
shaders.texture_functions.texturesize.usampler2darray_fragment
shaders.texture_functions.texturesize.sampler2darrayshadow_vertex
shaders.texture_functions.texturesize.sampler2darrayshadow_fragment
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=08ff5f4d1f04ea426be679018c2c38da6b6b9a65
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Mar 29 15:25:04 2016 -0700
nir: Simplify a bcsel to logical-or
Oddly, this did not affect the shader where I first noticed the pattern.
That particular shader doesn't get its if-statement converted to a bcsel
because there are two assignments in the else-statement. This led to me
submitting https://bugs.freedesktop.org/show_bug.cgi?id=94747.
shader-db results:
Sandy Bridge
total instructions in shared programs: 8467384 -> 8467069 (-0.00%)
instructions in affected programs: 36594 -> 36279 (-0.86%)
helped: 46
HURT: 0
total cycles in shared programs: 117573448 -> 117568518 (-0.00%)
cycles in affected programs: 339114 -> 334184 (-1.45%)
helped: 46
HURT: 0
Ivy Bridge / Haswell / Broadwell / Skylake:
total instructions in shared programs: 7774258 -> 7773999 (-0.00%)
instructions in affected programs: 30874 -> 30615 (-0.84%)
helped: 46
HURT: 0
total cycles in shared programs: 65739190 -> 65734530 (-0.01%)
cycles in affected programs: 180380 -> 175720 (-2.58%)
helped: 45
HURT: 1
No change on G45 or Ironlake.
I also tried these expressions, but none of them affected any shaders in
shader-db:
(('bcsel', a, 'a at bool', 'b at bool'), ('ior', a, b)),
(('bcsel', a, 'b at bool', False), ('iand', a, b)),
(('bcsel', a, 'b at bool', 'a at bool'), ('iand', a, b)),
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cdea12bf035117f7cae5db0d52f3050d81c50c37
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Thu Mar 24 15:48:55 2016 -0700
ptn: Fix all users of ptn_swizzle
None of the callers actually wanted what it did. In ptn_xpd, you only
ever want a vec3 swizzle. In ptn_tex, you want a swizzle that matches
the number of required texture coordinates.
shader-db results:
G45:
total instructions in shared programs: 4011240 -> 4010911 (-0.01%)
instructions in affected programs: 59232 -> 58903 (-0.56%)
helped: 114
HURT: 0
total cycles in shared programs: 84314194 -> 84313220 (-0.00%)
cycles in affected programs: 779150 -> 778176 (-0.13%)
helped: 110
HURT: 13
Ironlake:
total instructions in shared programs: 6397262 -> 6396605 (-0.01%)
instructions in affected programs: 117402 -> 116745 (-0.56%)
helped: 227
HURT: 0
total cycles in shared programs: 128889798 -> 128888524 (-0.00%)
cycles in affected programs: 1214644 -> 1213370 (-0.10%)
helped: 179
HURT: 44
Sandy Bridge:
total instructions in shared programs: 8467391 -> 8467384 (-0.00%)
instructions in affected programs: 3107 -> 3100 (-0.23%)
helped: 10
HURT: 6
total cycles in shared programs: 117580120 -> 117573448 (-0.01%)
cycles in affected programs: 103158 -> 96486 (-6.47%)
helped: 84
HURT: 11
Ivy Bridge:
total instructions in shared programs: 7774255 -> 7774258 (0.00%)
instructions in affected programs: 1677 -> 1680 (0.18%)
helped: 8
HURT: 6
total cycles in shared programs: 65743828 -> 65739190 (-0.01%)
cycles in affected programs: 89312 -> 84674 (-5.19%)
helped: 78
HURT: 23
Haswell:
total instructions in shared programs: 7107172 -> 7107150 (-0.00%)
instructions in affected programs: 2048 -> 2026 (-1.07%)
helped: 16
HURT: 0
total cycles in shared programs: 64653636 -> 64647486 (-0.01%)
cycles in affected programs: 86836 -> 80686 (-7.08%)
helped: 85
HURT: 17
Broadwell and Skylake:
total instructions in shared programs: 8447529 -> 8447507 (-0.00%)
instructions in affected programs: 2038 -> 2016 (-1.08%)
helped: 16
HURT: 0
total cycles in shared programs: 66418670 -> 66413416 (-0.01%)
cycles in affected programs: 90110 -> 84856 (-5.83%)
helped: 83
HURT: 20
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8bb9c6ff7f2398e1a497a9b5413736f58205843c
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Mar 28 17:27:36 2016 -0700
ptn: Silence unused parameter warning
The KIL instruction doesn't have a destination, so ptn_kil never uses
dest.
program/prog_to_nir.c: In function ‘ptn_kil’:
program/prog_to_nir.c:547:38: warning: unused parameter ‘dest’ [-Wunused-parameter]
ptn_kil(nir_builder *b, nir_alu_dest dest, nir_ssa_def **src)
^
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d22eca5f90cc86105e2a42e39acc061353c21129
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Thu Mar 31 10:54:18 2016 +0200
tgsi: silence compiler warning in fetch_sampler_unit()
The unit variable can be used uninitialized.
Fixes: 24e77cb09 ("tgsi: handle indirect sampler arrays. (v2)")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=05902a668611094ec876929fc2dfe1172043e4b9
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Thu Mar 31 10:54:17 2016 +0200
tgsi: fix out of bounds access in exec_atomop()
The number of channels must be 4 for all RGBA components.
Fixes: 22d129601 ("tgsi: add support for image operations to tgsi_exec. (v2.1)")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9076e049340db0c55f57abb4ee9bbaffba61d45d
Author: Brian Paul <brianp at vmware.com>
Date: Wed Mar 30 16:54:08 2016 -0600
tgsi: split tgsi_util_get_texture_coord_dim() function into two
It was kind of overloaded, returning two different things. Now get
the index of the shadow reference src register with a new
tgsi_util_get_shadow_ref_src_index() function.
To verify the new code, I added some temp/debug code which looped
over all TGSI_TEXTURE_x values, calling the old function and new and
checking that the returned indexes matched.
Also tested piglit "shadow" tests with softpipe/llvmpipe.
No testing of ilo and radeonsi changes.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d7cd439880d9334d21ed099efa15ccf8b709748
Author: Brian Paul <brianp at vmware.com>
Date: Wed Mar 30 09:55:56 2016 -0600
tgsi: skip texture query opcodes when examining texture targets
Should fix the assertion in piglit
spec at arb_gpu_shader5@texturegather at fs-r-none-shadow-2d when the
TXQ instruction specifies a 2D target but the sampler view was
declared as SHADOW2D.
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
Tested-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f96a403bc3e1ef45f92621e9ace48cf757db4059
Author: Pierre Moreau <pierre.morrow at free.fr>
Date: Sat Mar 19 14:04:54 2016 +0100
nv50/ir: Check for valid insn instead of def size
This fixes a null pointer dereference during the register allocation pass,
if a function had arguments.
Functions arguments get a definition from the function itself, a definition
which is therefore not linked to any instruction. If a value ends up having
a definition but no linked instruction, the register allocation pass doesn't
need to consider whether that value is generated by an instruction that
can only handle "short" registers (on nv50).
Signed-off-by: Pierre Moreau <pierre.morrow at free.fr>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a94d8d51d7e426485a72e6cfd6185dee9df5e070
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Wed Feb 17 13:27:14 2016 -0500
mesa: add GL_EXT_copy_image support
The extension is identical to GL_OES_copy_image. But dEQP has tests that
want the EXT variant.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ebdb5345480957c4fc3068fab17926be28d7dcd4
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Mon Feb 15 20:34:52 2016 -0500
mesa: add GL_OES_copy_image support
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=571f538a622d9a7050015b58b7b1ac240f289dcb
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Wed Mar 30 22:03:06 2016 -0400
mesa: remove duplicate MAX_GEOMETRY_SHADER_INVOCATIONS entry
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c7f5fe2960362b266aeb8e1ed0ebea762131df5
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Tue Feb 16 01:27:27 2016 -0500
st/mesa: add ES sample-shading support
We require the full ARB_gpu_shader5 for now, but in the future some
other CAP could get exposed to indicate that only the multisample-related
behavior of ARB_gpu_shader5 is available.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3002296cb68ebc9705b29e024e5fc67d5565ed46
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Feb 20 15:03:55 2016 -0500
mesa: add GL_OES_shader_multisample_interpolation support
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=411a88accc8a2728abbdfbef4315addbc08cf5a3
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Tue Feb 16 14:29:38 2016 -0500
mesa: add GL_OES_sample_shading support
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5283e810157a3c392c9887e51c6ee0df849a4973
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Fri Feb 19 13:23:10 2016 -0500
glsl: add GL_OES_sample_variables support
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a8ca859f913cf56bc8abce6d1cde02b36a74289
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Tue Feb 16 01:20:15 2016 -0500
mesa: add OES_sample_variables to extension table, add enable bit
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=903640c2accb4617afd7036f47cbd14077586394
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Fri Feb 19 13:20:48 2016 -0500
glsl: add gl_MaxSamples, new in GL 4.5 / GL ES 3.2
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fea98991c8f94f14e469d4621eddc5247d4efbd
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Mar 12 21:16:03 2016 -0800
i965: Don't add barrier deps for FB write messages.
Ken did this earlier, and this is just me reimplementing his patch a
little differently.
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3495265158cce55d24a7a7f38a0a40d8c9448d38
Author: Matt Turner <mattst88 at gmail.com>
Date: Sat Mar 12 21:15:19 2016 -0800
i965: Add and use is_scheduling_barrier() function.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b4e223cfbf4d46e2ca4c7313f4ebd52798d21551
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Feb 15 10:43:39 2016 -0800
i965: Remove NOP insertion kludge in scheduler.
Instead of removing every instruction in add_insts_from_block(), just
move the instruction to its scheduled location. This is a step towards
doing both bottom-up and top-down scheduling without conflicts.
Note that this patch changes cycle counts for programs because it begins
including control flow instructions in the estimates.
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a607f4aa57def51236687ec17d7a6391fb147333
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Feb 15 10:42:14 2016 -0800
i965: Assert that an instruction is not inserted around itself.
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b208a731277b4b99b86af3df98c1219099036d7
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Feb 15 10:05:33 2016 -0800
i965: Relax restriction on scheduling last instruction.
I think when this code was written, basic blocks were always ended by a
control flow instruction or an end-of-thread message. That's no longer
the case, and removing this restriction actually helps things:
instructions in affected programs: 7267 -> 7244 (-0.32%)
helped: 4
total cycles in shared programs: 66559580 -> 66431900 (-0.19%)
cycles in affected programs: 28310152 -> 28182472 (-0.45%)
helped: 9577
HURT: 879
GAINED: 2
The addition of the is_control_flow() checks is not a functional change,
since the add_insts_from_block() does not put them in the list of
instructions to schedule. I plan to change this in a later patch.
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f60750968c66f7aa15181c4ba315bb594e615044
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Mar 14 17:39:19 2016 -0700
i965/vec4/tcs: Set conditional mod on TCS_OPCODE_SRC0_010_IS_ZERO.
Missing this causes an assertion failure in the scheduler with the next
patch.
Additionally, this gives cmod propagation enough information to optimize
code better.
total instructions in shared programs: 7112991 -> 7112852 (-0.00%)
instructions in affected programs: 25704 -> 25565 (-0.54%)
helped: 139
total cycles in shared programs: 64812898 -> 64810674 (-0.00%)
cycles in affected programs: 127224 -> 125000 (-1.75%)
helped: 139
Acked-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=436bdd7403bfa260ce6dedcbd0ba96df2ae40ce8
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Feb 17 11:04:50 2016 -0800
Revert "i965: Don't add barrier deps for FB write messages."
This reverts commit d0e1d6b7e27bf5f05436e47080d326d7daa63af2.
The change in the vec4 code is a mistake -- there's never an
FS_OPCODE_FB_WRITE in vec4 code.
The change in the fs code had the (harmless) effect of not recognizing
an FB_WRITE as a scheduling barrier even if it was marked EOT --
harmless because the scheduler marked the last instruction of a block as
a barrier, something I'm changing in the following patches.
This will be reimplemented later in the series.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d253ce34a8074a6c880d405c5bf860766afe358
Author: Matt Turner <mattst88 at gmail.com>
Date: Sun Feb 14 23:21:03 2016 -0800
i965: Simplify full scheduling-barrier conditions.
All of these were simply code for "architecture register file" (and in
the case of destinations, "not the null register").
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=65bc94022b0fd31d01c8de65f7f1115a86baa65a
Author: Matt Turner <mattst88 at gmail.com>
Date: Sun Feb 14 23:23:53 2016 -0800
i965: Remove incorrect cycle estimates.
These printed the cycle count the last basic block (sched.time is set
per basic block!). We have accurate, full program, data printed
elsewhere.
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=10b189f985755496a179b663d4b0746f3717093b
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Mar 31 12:35:25 2016 +1000
st/mesa: fix fallout from xfb changes.
Failed to update state tracker with new buffer interface.
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=05ee6627d6112b2874f373e8302540e22ccc317c
Author: Matt Turner <mattst88 at gmail.com>
Date: Wed Mar 30 19:18:16 2016 -0700
nir: Fix typo from commit 6702f1acde9.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b273958c747b77fe000b513caa3033cf1fde5422
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 10 16:41:03 2016 +1100
docs: mark xfb_* qualifiers as DONE
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c5704bb350425162011367e47be8c69d424a8797
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 10 16:17:13 2016 +1100
mesa: add query support for GL_TRANSFORM_FEEDBACK_BUFFER interface
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7234be0338813c0acd5b700ea2f7f20f7a972e51
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 10 15:04:02 2016 +1100
glsl: add transform feedback buffers to resource list
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e317271d7694d912da99e524294156b6c2de96e
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 10 15:57:19 2016 +1100
mesa: add support to query GL_TRANSFORM_FEEDBACK_BUFFER_INDEX
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=51142e7705a5e0c28de9fc097fa7c8446ba0cffe
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 10 11:40:37 2016 +1100
mesa: add support to query GL_OFFSET for GL_TRANSFORM_FEEDBACK_VARYING
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=047139e8a027d81141b6e0b1bc939942e873f3ce
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 10 15:20:32 2016 +1100
mesa: rename tranform feeback varying macro XFB to XFV
A latter patch will use XFB for buffers.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b77c9098782a36cb811891b2bcb572eb61e608ac
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Mon Mar 14 11:16:55 2016 +1100
glsl: always enable transform feedback mode when xfb_stride defined
This enables in shader defined transform feedback mode even if the
only place xfb_stride is defined is on the global out.
We don't worry about xfb_buffer since Issue 22 c) in the spec says:
"If the shader has an "xfb_buffer" qualifier identifying a buffer,
but doesn't declare "xfb_offset" on anything associated with it,
what happens?
...
variables not qualified with "xfb_offset" are not captured, which
makes the associated "xfb_buffer" qualifier irrelevant."
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c95e92b14d69c114b79d941c7e8902a0ea62c287
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Mon Mar 14 10:32:17 2016 +1100
glsl: handle varyings that are not written to but have an xfb_offset
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5c09d40b909cca43936b7f1a3ea16d6568d6203
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Mon Mar 14 10:17:48 2016 +1100
glsl: when lowering named interface set assigned flag
This will be used when checking if xfb should attempt to capture
a varying.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2fbc5ed44ec8ebf0e8936ff5b21425159511413
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Sun Mar 13 16:36:25 2016 +1100
glsl: reset current stream tracker
When we move to the next buffer we need to reset the stream
so that we don't generate an error message about streams not
matching.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f2a3c87a00bb38aa63dfb3a5818b2d53ca46c663
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Fri Mar 11 13:53:13 2016 +1100
glsl: generate link error when implicit stride is to large
This moves the check until after we have done the stride
calculation and applies it to the xfb_* qualifiers.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2fab85aaea59cb2d31d34ea6de94180ca83fe2dd
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 3 15:26:53 2016 +1100
glsl: add xfb_stride link time validation
From the ARB_enhanced_layous spec:
"It is a compile-time or link-time error to have any *xfb_offset*
that overflows *xfb_stride*, whether stated on declarations before
or after the *xfb_stride*, or in different compilation units.
...
When no *xfb_stride* is specified for a buffer, the stride of a
buffer will be the smallest needed to hold the variable placed at
the highest offset, including any required padding."
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8120e869b1cde7fd1a3679291782f2f50296cb45
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Fri Mar 11 11:57:52 2016 +1100
glsl: validate global out xfb_stride qualifiers and set stride on empty buffers
Here we use the built-in validation in
ast_layout_expression::process_qualifier_constant() to check for mismatching
global out strides on buffers in a single shader.
From the ARB_enhanced_layouts spec:
"While *xfb_stride* can be declared multiple times for the same buffer,
it is a compile-time or link-time error to have different values
specified for the stride for the same buffer."
For intrastage validation a new helper link_xfb_stride_layout_qualifiers()
is created. We also take this opportunity to make sure stride is at least
a multiple of 4, we will validate doubles at a later stage.
From the ARB_enhanced_layouts spec:
"If the buffer is capturing any double-typed outputs, the stride must
be a multiple of 8, otherwise it must be a multiple of 4, or a
compile-time or link-time error results."
Finally we update store_tfeedback_info() to apply the strides to
LinkedTransformFeedback and update the buffers bitmask to mark any global
buffers with a stride as active. For example a shader with:
layout (xfb_buffer = 0, xfb_offset = 0) out vec4 gs_fs;
layout (xfb_buffer = 1, xfb_stride = 64) out;
Is expected to have a buffer bound to both 0 and 1.
From the ARB_enhanced_layouts spec:
"A binding point requires a bound buffer object if and only if its
associated stride in the program object used for transform feedback
primitive capture is non-zero."
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cf039a309a36ba537b45f3bfe7e5a154c87d51ad
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 10 15:00:00 2016 +1100
mesa: split transform feedback buffer into its own struct
This will be used in a following patch to implement interface
query support for TRANSFORM_FEEDBACK_BUFFER.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=258299d87ad932246ae8b1aa979b4a1a398db155
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 3 13:20:01 2016 +1100
glsl: use bitmask of active xfb buffer indices
This allows us to print the correct binding point when not all
buffers declared in the shader are bound.
For example if we use a single buffer:
layout(xfb_buffer=2, offset=0) out vec4 v;
We now print '2' when the buffer is not bound rather than '0'.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=99cb5151ed2203842922027fe80512248abad914
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Fri Mar 11 23:16:16 2016 +1100
glsl: sort xfb varyings in offset/buffer order
The existing transform feedback code expects to receive the list
of varyings in increasing buffer order.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c66460fc65e1c45ec2268c978ea11b259441212
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Feb 24 16:40:32 2016 +1100
glsl: basic linking support for xfb qualifiers
This adds the initial infrastructure for enabling transform feedback
mode via in shader qualifiers and adds initial buffer support.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4305a60173432635cde2f0f1dea8a715ed327bbc
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Feb 24 16:37:02 2016 +1100
glsl: add xfb helpers and fields to the tfeedback_decl class
We also apply any array/struct offsets.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0822517936d473f4889b07606e131e1dc3199644
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Feb 24 16:27:03 2016 +1100
glsl: add helper to process xfb qualifiers during linking
This function checks for any xfb_* qualifiers which will enable
transform feedback mode and cause any API defined xfb varyings
to be ignored.
It also counts the number of varyings that have a xfb_offset
qualifier and finally it calls the create_xfb_varying_names()
helper to generate the names of varyings to be caputured.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=707fd3972f3c2e16c710cd7ce819d0c5439c28fd
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Feb 24 15:40:31 2016 +1100
glsl: add helper to generate xfb varying names
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b6f8fe5030a0bcc6cce6bf3aae48795802b6fb6
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Tue Mar 15 17:52:06 2016 +1100
glsl: add helper for counting varyings
This will be used to get a count of the number of varying name
strings we are required to generate for use with the query api.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba7a7d4c39c06c6231e3f9a05f5e32378b76db6a
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Mon Feb 15 13:27:55 2016 +1100
glsl: add xfb qualifier lowering support for named blocks
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a873ef049bce855e8b5f254d428956de8ce45f8
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Fri Jan 22 16:22:40 2016 +1100
glsl: add xfb qualifiers to has_layout helper
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=598790e8564280b8f3f105c0ff6de9fff4d45e30
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 10 11:51:48 2016 +1100
glsl: apply xfb_stride to implicit offsets for ifc block members
When we have an interface block like:
layout (xfb_buffer = 0, xfb_offset = 0) out Block {
vec4 var1;
layout (xfb_stride = 32) vec4 var2;
vec4 var3;
};
We take into account the stride of var2 when calculating the offset
for var3.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=04a72e6e57ea97db2023bec50a10f2106f5d5b24
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Sat Feb 13 14:53:45 2016 +1100
glsl: add xfb_stride compile time rules
From the ARB_enhanced_layouts spec:
"The *xfb_stride* qualifier specifies how many bytes are consumed
by each captured vertex. It applies to the transform feedback
buffer for that declaration, whether it is inherited or explicitly
declared. It can be applied to variables, blocks, block members,
or just the qualifier out. If the buffer is capturing any
double-typed outputs, the stride must be a multiple of 8, otherwise
it must be a multiple of 4, or a compile-time or link-time error
results.
...
The resulting stride (implicit or explicit) must be less than or
equal to the implementation-dependent constant
gl_MaxTransformFeedbackInterleavedComponents."
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=edddad0eee15c1f97443fc262d731e06d9604d4e
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Feb 24 15:21:59 2016 +1100
glsl: add xfb_offset compile time rules
We also copy the qualifier values to the IR in this step.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6a8c7ef2170516b405c6d5e719358bfc14c724e
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Fri Mar 11 23:00:16 2016 +1100
glsl: add xfb_buffer compile time rules
Also copies the qualifier values to GLSL IR.
From the ARB_enhanced_layouts spec:
"The *xfb_buffer* qualifier can be applied to the qualifier out,
to output variables, to output blocks, and to output block
members. Shaders in the transform feedback capturing mode have
an initial global default of
layout(xfb_buffer = 0) out;
This default can be changed by declaring a different buffer with
xfb_buffer on the interface qualifier out. This is the only way
the global default can be changed. When a variable or output block
is declared without an xfb_buffer qualifier, it inherits the global
default buffer. When a variable or output block is declared with an
xfb_buffer qualifier, it has that declared buffer. All members of a
block inherit the block's buffer. A member is allowed to declare
an xfb_buffer, but it must match the buffer inherited from its
block, or a compile-time error results.
The *xfb_buffer* qualifier follows the same conventions, behavior,
defaults, and inheritance rules as the qualifier stream, and the
examples for stream apply here as well. This includes a block's
inheritance of the current global default buffer, a block member's
inheritance of the block's buffer, and the requirement that any
*xfb_buffer* declared on a block member must match the buffer
inherited from the block.
...
It is a compile-time error to specify an *xfb_buffer* that is
greater than the implementation-dependent constant
gl_MaxTransformFeedbackBuffers."
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=04d2f770c868537c2aa7329e923d526e7014d0b3
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Feb 24 15:18:09 2016 +1100
glsl: add field to track if xfb_buffer is an explicit or implicit value
Since any of the xfb_* qualifiers trigger the shader to be in
transform feedback mode we need an extra field to track if
the xfb_buffer on interface members was set explicitly since
xfb_buffer will always have a default value.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=733f1b2a55aa396dd01ec516f93339d95ef32a42
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Feb 24 16:06:00 2016 +1100
glsl: add xfb_* qualifiers to glsl_struct_field
These will be used to hold qualifier values for interface and
struct members.
Support is added to the struct/interface constructors to copy these
fields upon creation.
We also update record_compare() to ensure we don't reuse a glsl_type
with the wrong xfb_* qualifier values.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2dbcecb7a9f483e70875d60d9f18811088122861
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Jan 21 16:22:12 2016 +1100
glsl: add IR fields for transform feedback layout qualifiers
Adds xfb_buffer/stride fields and adds comment to offset field
which is reused for xfb_offset.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c2516fc3373f2e0ea234ef68791c8c0e4268e41
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Tue Feb 9 22:24:30 2016 +1100
glsl: add validation for out layout qualifiers
This adds validation for all qualifiers as allowed by the
table in Section 4.4 (Layout Qualifiers) of the GLSL 4.5 spec.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b407fececeb0e0bcc0e54929db3ef6809655632
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Mon Jan 18 20:46:29 2016 +1100
glsl: relax stage restrictions on layout defaults for outputs
The new xfb_buffer and xfb_stride global qualifiers are allowed in
geom, tess and vertex stages.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9afd94af6fa129370eb001077724a77093ecd5a
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Fri Jan 22 12:45:10 2016 +1100
glsl: parse new transform feedback layout qualifiers
We reuse the existing offset field for holding the xfb_offset
expression but create a new flag as to avoid hitting the rules
for the offset qualifier for UBOs.
xfb_buffer qualifiers require extra processing when merging as
they can be applied to global out defaults. We just apply the
same rules as we do for the stream qualifier as the spec says:
"The *xfb_buffer* qualifier follows the same conventions,
behavior, defaults, and inheritance rules as the qualifier
stream, and the examples for stream apply here as well."
For xfb_stride we push everything into a global out field for
later processing as xfb_stride applies to the entire buffer.
We still need to have a separate field to store per variable
strides because they can still effect implicit offsets
e.g. when applied to block members with implicit offsets.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=13f6c788ebc4f9969d2d12c1a8ba64fdcf5dc12e
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Sat Mar 5 12:16:22 2016 +1100
glsl: move process_qualifier_constant() to ast_type.cpp
We will make use of this function being here in the following patch.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=52caeee7e78c2bed0329dcb7a5984826fa5960a6
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Jan 13 14:40:05 2016 +1100
glsl: add transform feedback built-in constants
These are new built-ins added by ARB_enhanced_layouts.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8765a9e0fe2987caa6af7473cbc4c55754621806
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Fri Mar 11 16:15:02 2016 +1100
glsl: generate named interface block names correctly
Firstly this updates the named interface lowering pass to store the
interface without the arrays removed.
Note we need to remove the arrays in the interface/varying matching
code to not regress things but in future this should be fixed
futher as it would seem we currently successfully match interface
blocks with differnt array sizes.
Since we now know if the interface was an array we can reduce the
IR flags from_named_ifc_block_array and from_named_ifc_block_nonarray
to just from_named_ifc_block.
Next rather than having a different code path for named interface
blocks in program_resource_visitor we just make use of the one used
by UBOs this allows us to now handle arrays of arrays correctly.
Finally we add a new param to the recursion function
named_ifc_member this is because we only want to process a single
member at a time. Note that this is also the glsl_struct_field
from the original ifc type before lowering rather than the type
from the lowered variable. This fixes a bug in Mesa where we would
generate the names like WithInstArray[0].g[0][0] when it should be
WithInstArray[0].g[0] for the following interface.
out WithInstArray {
float g[3];
} instArray[2];
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7ebc3deaad77d11aa7086720ba4c3469a8878de3
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Wed Mar 9 16:58:29 2016 +1100
glsl: Fix segfault when lhs is error_type in TCS
It seems expected that both lhs and rhs could be of type error_type
in this code however the TCS case wasn't expecting it.
Fixes segfault in an enhanced layouts GL CTS test.
Reviewed-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9367c13ca420528cd0d9a9e8dacd2fd5d6a0a41
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Mar 22 08:00:52 2016 +1000
docs: update softpipe status for shader_image_load_store.
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb9ad9faa3975fc4f044b81d3b4b793866ef5563
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Mar 22 07:59:35 2016 +1000
softpipe: add image support to softpipe (v3)
This adds support for ARB_shader_image_load_store to softpipe.
v2: add RESQ support (Ilia)
v3: constify, cleanup internals, add some comments (Brian).
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d1f679dedfb47944259e846d7f2eadbcf0907ca
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Mar 22 07:58:39 2016 +1000
draw: add support for passing images to vs/gs shaders.
This just adds support for passing through images to the
tgsi execution stage.
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=22d1296013825a4dce84e6f579581202a18767c7
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Mar 22 07:53:48 2016 +1000
tgsi: add support for image operations to tgsi_exec. (v2.1)
This adds support for load/store/atomic operations on images
along with image tracking support.
v2: add RESQ support. (Ilia)
v2.1: constify interface (Brian)
split get_image_coord_dim (Brian)
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=493eab76792307d066489bc1d88798f14a5df31d
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Mar 22 07:52:26 2016 +1000
softpipe: add support for explicit early depth testing
ARB_shader_image_load_store adds support for explicit early
depth testing. However we need to make sure we don't overwrite
values using the shader written values in this case.
This fixes early depth testing in softpipe to conform with
those requirements.
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=827393b76fffa352e0ff3cae077c7817d6cfbf8a
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Mar 22 07:50:37 2016 +1000
tgsi: introduce NonHelperMask
This is a mask of which of the current 2x2 grid are non-helper
invocations. This allows us to mask off the helper invocations
later for the image operations.
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca180c09bb0941468814796f13c0701590523be4
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Mar 21 08:52:14 2016 +1000
tgsi_exec: handle execmask when doing indirect lookups
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ff4cc053589ae2ea10a63116b1e1fe15ecdfbeb
Author: Dave Airlie <airlied at redhat.com>
Date: Mon Mar 21 08:51:54 2016 +1000
tgsi_exec: add support for up to 3 address registers (v2)
v2: be consistent with other definitions.
Reviewed-by: Brian Paul <brianp at vmware.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6702f1acde9e93e41783fd2f4a7999fed8d9cb75
Author: Matt Turner <mattst88 at gmail.com>
Date: Mon Feb 22 15:16:49 2016 -0800
nir: Propagate negates up multiplication chains.
total instructions in shared programs: 7112159 -> 7088092 (-0.34%)
instructions in affected programs: 1374915 -> 1350848 (-1.75%)
helped: 7392
HURT: 621
GAINED: 2
LOST: 2
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a74fc3fe8ada87e1fedeea86f2d93f736a1217bc
Author: Matt Turner <mattst88 at gmail.com>
Date: Tue Nov 24 17:17:29 2015 -0800
i965: Don't inline intel_batchbuffer_require_space().
It's called by the inline intel_batchbuffer_begin() function which
itself is used in BEGIN_BATCH. So in sequence of code emitting multiple
packets, we have inlined this ~200 byte function multiple times. Making
it an out-of-line function presumably improved icache usage.
Improves performance of Gl32Batch7 by 3.39898% +/- 0.358674% (n=155) on
Ivybridge.
Reviewed-by: Abdiel Janulgue <abdiel.janulgue at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1faca438bdbf11d85a6158d41ea91cab40fc2033
Author: Christian König <christian.koenig at amd.com>
Date: Wed Mar 30 15:38:29 2016 +0200
r600: ignore PIPE_BIND_LINEAR in *_is_format_supported
Similar to radeonsi linear layout should work for all not compressed
or depth/stencil formats. Fixes issues with VDPAU on r600.
Signed-off-by: Christian König <christian.koenig at amd.com>
Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a73f5728e9b834c51128e34317854702281bf3e
Author: Thomas Hindoe Paaboel Andersen <phomes at gmail.com>
Date: Wed Mar 30 08:13:24 2016 +0200
st/vdpau: correct null check
The null check of result was the wrong way around. Also, move memset
and dereference of result after the null check.
Reviewed-by: Christian König <christian.koenig at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4541a785020aa6b9c6472d0fc4fb0fe8cdcec40f
Author: Brian Paul <brianp at vmware.com>
Date: Wed Mar 30 11:22:07 2016 -0600
docs: remove docs/COPYING which contains GPL license
There hasn't been GPL code in Mesa for a long time now.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bb37886f75f48727e5d3f5e2715c4a2f418ac1a1
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Tue Mar 29 23:11:07 2016 +0200
glsl: add missing types for buffer images
Type of GLSL_SAMPLER_DIM_BUF can be sampler or image.
Spotted while trying to run dEQP tests related to
ARB_shader_image_load_store.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Tested-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6773128bbf8703663ed1a4d6c1c3308b3c002a35
Author: Lars Hamre <chemecse at gmail.com>
Date: Mon Mar 28 20:42:14 2016 -0400
glsl: invalidate float suffixes for GLSL 1.10 and GLSL ES 1.00
Float suffixes are not allowed in GLSL 1.10 nor GLSL ES 1.00.
Fixes the following piglit tests:
tests/spec/glsl-1.10/compiler/literals/invalid-float-suffix-capital-f.vert
tests/spec/glsl-1.10/compiler/literals/invalid-float-suffix-f.vert`
v2: modify error message
v3: parse the float instead of returning an ERROR_TOK
v4: (by Ken) Change to is_version(120, 300) to avoid breaking ES3
shaders; update commit message accordingly.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81585
Signed-off-by: Lars Hamre <chemecse at gmail.com>
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d3b8aefda1df66ef43c11c66e95ecb9a19c9137
Author: Roland Scheidegger <sroland at vmware.com>
Date: Wed Mar 30 04:25:45 2016 +0200
tgsi: (trivial) only verify target for is_tex instructions
d3d10 state tracker does not encode (valid) target (only offsets are
really used from the texture bits), since that information always comes
from the sview dcl, and not the instruction (note the meaning of target
is actually slightly different between gl and d3d10 in any case, because
d3d10 target does never include shadow bit).
Also move the msaa sampler identification as well - would need to set that
on the sview not sampler, so while this does not fix it make it at least
obvious it won't work with sample instructions.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=553e37aa337783d468f218291f6de6a74e49289b
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Tue Mar 29 15:31:05 2016 -0400
mesa: allow mutable buffer textures to back GL ES images
Since there is no way to create immutable texture buffers in GL ES,
mutable buffer textures are allowed to back images. See issue 7 of the
GL_OES_texture_buffer specification.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=513384d7e8db294d54a910f40c90492c211abc54
Author: Brian Paul <brianp at vmware.com>
Date: Mon Mar 28 17:27:27 2016 -0600
mesa: make _mesa_prepare_mipmap_level() static
No longer called from any other file.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed39de90f1cd209b10baeed8ae98b1f56127c8de
Author: Brian Paul <brianp at vmware.com>
Date: Tue Mar 29 17:44:00 2016 -0600
meta: use _mesa_prepare_mipmap_levels()
The prepare_mipmap_level() wrapper for _mesa_prepare_mipmap_level() is
not needed. It only served to undo the GL_TEXTURE_1D_ARRAY height/depth
change was was made before the call to prepare_mipmap_level()
Said another way, regardless of how the meta code manipulates the height/
depth dims for GL_TEXTURE_1D_ARRAY, the gl_texture_image dimensions are
correctly set up by _mesa_prepare_mipmap_levels().
Tested by plugging _mesa_meta_GenerateMipmap() into the swrast driver
and testing with piglit.
v2 (idr): Early out of the mipmap generation loop with dstImage is NULL.
This can occur for immutable textures that have a limited range of
levels or in the presense of memory allocation failures. Fixes
arb_texture_view-mipgen on Intel platforms.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Tested-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bab0752a805214645af92aec7ca692f723640c36
Author: Brian Paul <brianp at vmware.com>
Date: Tue Mar 29 12:54:10 2016 -0600
docs: add HTTP link for Mesa downloads
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92628
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c85c3be26566711a3bdf27df4f9fb07b126882d
Author: Brian Paul <brianp at vmware.com>
Date: Tue Mar 29 11:43:02 2016 -0600
tgsi: simplify tgsi_shader_info::is_msaa_sampler checking
We assert that fullinst->Instruction.Texture != 0 above so no need to
check it in the conditional. We also have the fullinst->Texture.Texture
value in a local variable, so use it.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=86e1768c13d67945f4a9549820e711b70ff2aba7
Author: Brian Paul <brianp at vmware.com>
Date: Sat Mar 26 11:46:53 2016 -0600
tgsi: collect texture sampler target info in tgsi_scan_shader()
Texture sample instructions specify a sampler unit and texture target
such as "1D", "2D", "CUBE", etc. Sampler view declarations also specify
the sampler unit and texture target.
This patch checks that the texture instructions agree with the declarations
and collects the texture target type for each sampler unit.
v2: only compare instruction's texture target to the sampler view declaration
target if the instruction is a TEX instruction, not a SAMPLE instruction.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6775268b61b1943c85f5a1a30ce330d34003e328
Author: Brian Paul <brianp at vmware.com>
Date: Tue Mar 29 11:32:24 2016 -0600
gallium/docs: s/gven/given/
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=75b713455c77931e5e90c30e65ac99d74dfb17f0
Author: Brian Paul <brianp at vmware.com>
Date: Sat Mar 26 11:35:00 2016 -0600
xlib: add support for GLX_ARB_create_context
This adds the glXCreateContextAttribsARB() function for the xlib/swrast
driver. This allows more piglit tests to run with this driver.
For example, without this patch we get:
$ bin/fbo-generatemipmap-1d -auto
piglit: error: waffle_config_choose failed due to WAFFLE_ERROR_UNSUPPORTED_
ON_PLATFORM: GLX_ARB_create_context is required in order to request an OpenGL
version not equal to the default value 1.0
piglit: error: Failed to create waffle_config for OpenGL 2.0 Compatibility Context
piglit: info: Failed to create any GL context
PIGLIT: {"result": "skip" }
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
Acked-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8d029f22bcb49c26ddb11d0bb968d24f2a5fb7e
Author: Brian Paul <brianp at vmware.com>
Date: Thu Mar 24 14:09:24 2016 -0600
st/mesa: simplify st_generate_mipmap()
The whole st_generate_mipmap() function was overly complicated. Now
we just call the new _mesa_prepare_mipmap_levels() function to prepare
the texture mipmap memory, then call the generate function which fills
in the texture images.
This fixes a failed assertion in llvmpipe/softpipe which is hit with the
new piglit generatemipmap-base-change test. Also fixes some device errors
(format mismatches) with the VMware svga driver.
v2: fix a comment typo, per Sinclair
Reviewed-by: Sinclair Yeh <syeh at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=105fe527840ed5fc55e78c4561915fbe1fded76c
Author: Brian Paul <brianp at vmware.com>
Date: Thu Mar 24 11:24:33 2016 -0600
mesa: new _mesa_prepare_mipmap_levels() function for mipmap generation
Simplifies the loops in generate_mipmap_uncompressed() and
generate_mipmap_compressed(). Will be used in the state tracker too.
Could probably be used in the meta code. If so, some additional
clean-ups can be done after that.
v2: use unsigned types instead of GLuint, per Ian
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d4a5a61d445e683c20de00c1febe847b4c2db910
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Mar 28 20:07:13 2016 -0700
i965: Don't use CUBE wrap modes for integer formats on IVB/BYT.
There is no linear filtering for integer formats, so we should always
be using CLAMP_TO_EDGE mode.
Fixes 46 dEQP cases on Ivybridge (which were likely broken by commit
0faf26e6a0a34c3544644852802484f2404cc83e).
This workaround doesn't appear to be necessary on any other hardware;
I haven't found any documentation mentioning errata in this area.
v2: Only apply on Ivybridge/Baytrail to avoid regressing GLES3.1 tests.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net> [v1]
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8c69fbb5491c8790dd3bcf991f06151d15d92b9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Mar 29 15:35:07 2016 -0700
Revert "i965: Set address rounding bits for GL_NEAREST filtering as well."
This reverts commit 60d6a8989ab44cf47accee6bc692ba6fb98f6a9f.
It's pretty sketchy, and apparently regressed a bunch of dEQP tests
on Sandybridge.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7087e0ab27da5eaad10a18ddba3234960a2b5524
Author: Rovanion Luckey <rovanion.luckey at gmail.com>
Date: Tue Mar 29 13:43:00 2016 -0600
gallium: Format code in pb_buffer_fenced.c according to style guide.
This is a tiny housekeeping patch which does the following:
* Replaced tabs with three spaces.
* Formatted oneline and multiline code comments. Some doxygen
comments weren't marked as such and some code comments were marked
as doxygen comments.
* Spaces between if- and while-statements and their parenthesis.
According to the mesa coding style guidelines.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d8df0306b45163eede94421948e9b1ae05e47bd
Author: Charmaine Lee <charmainel at vmware.com>
Date: Tue Mar 29 13:34:36 2016 -0600
svga: emit sampler declarations in the helper function for non vgpu10
With commit dc9ecf58c0c5c8a97cd41362e78c2fcd9f6e3b80,
we are now getting the sampler target from the sampler view
declaration. But since a sampler view declaration can be defined
after a sampler declaration, we need to emit the
sampler declarations in the pre-helpers function, otherwise,
the sampler target might not have defined yet for the sampler declaration.
Fixes viewperf maya-03 and various gl trace regressions in hwv11.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=96e0894106b25eec2bab4545566d832846e99034
Author: Brian Paul <brianp at vmware.com>
Date: Tue Mar 29 13:34:36 2016 -0600
svga: avoid freeing non-malloced memory
svga_shader_expand() will fall back to using non-malloced memory for
emit.buf if malloc fails. We should check if the memory is malloced
before freeing it in the error path of svga_tgsi_vgpu9_translate.
Original patch by Thomas Hindoe Paaboel Andersen <phomes at gmail.com>.
Remove trivial svga_destroy_shader_emitter() function, by BrianP.
Signed-off-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9d57c84994abe45133382cf72ae617570bfe89da
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Tue Mar 29 19:27:49 2016 +0200
nvc0/ir: move load/store lowering pass to handleLDST()
Having all this code in a big switch is not really a good pratice.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cc68dc2b5e3c603580f70d682b0772d179b28ce3
Author: Christian König <christian.koenig at amd.com>
Date: Thu Jan 14 16:46:57 2016 +0100
st/mesa: implement new DMA-buf based VDPAU interop v2
Avoid using internal structures from another API.
v2: rebase and moved includes so they don't cause problem when VDPAU isn't installed.
Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com> (v1)
Reviewed-by: Leo Liu <leo.liu at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bdeb22b7b6204cf7a0eaab123118e2522a9abcd7
Author: Christian König <christian.koenig at amd.com>
Date: Thu Jan 14 16:45:29 2016 +0100
st/vdpau: implement the new DMA-buf based interop v2
That should allow us to get away from passing internal structures around.
v2: rebased
Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Leo Liu <leo.liu at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0042aa508e19bb920d0ab385894cd3e03b9eafde
Author: Christian König <christian.koenig at amd.com>
Date: Wed Jan 13 16:42:44 2016 +0100
st/vdpau: move FormatRGBAToPipe into the interop
We are going to need that in the Mesa state tracker as well.
Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Leo Liu <leo.liu at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=faba96bc60bfcf28678781f20ee0a42eb1950018
Author: Christian König <christian.koenig at amd.com>
Date: Tue Jan 12 16:07:58 2016 +0100
st/vdpau: add new interop interface
Use DMA-buf for the VDPAU interop interface instead of using
internal structures.
Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Leo Liu <leo.liu at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d180de35320eafa3df3d76f0e82b332656530126
Author: Christian König <christian.koenig at amd.com>
Date: Thu Jan 14 13:40:25 2016 +0100
st/vdpau: use linear layout for output surfaces
Works around a bug in radeonsi and tiling is actually
not very beneficial in this use case.
Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Leo Liu <leo.liu at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7eb5e5b8b4ae51be367050df48d3a9398694d3bc
Author: Christian König <christian.koenig at amd.com>
Date: Thu Jan 14 13:38:10 2016 +0100
radeonsi: ignore PIPE_BIND_LINEAR in si_is_format_supported v2
Linear layout should work for all not compressed or depth/stencil formats.
v2: restrict it a bit more
Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9286cbdd1e2b0ef32db61f0fb4915ea2948ad4cd
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Mon Mar 28 20:59:13 2016 -0400
st/mesa: enable OES_texture_buffer when all components available
OES_texture_buffer combines bits from a number of desktop extensions.
When they're all available, turn it on.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e1aec6db073416ae6ddf0eeaaea4964b489af8e
Author: Adam Jackson <ajax at redhat.com>
Date: Thu Mar 24 13:57:58 2016 -0400
glapi/glx: Mark the indirect swapped dispatch functions _X_COLD
A modest size savings:
text data bss dec hex filename
264143 15608 232 279983 445af libglx.so.before
254303 15608 232 270143 41f3f libglx.so.after
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea0f62e45eab39a8957f933325a1e16ace5c9e8c
Author: Adam Jackson <ajax at redhat.com>
Date: Thu Mar 24 13:57:58 2016 -0400
glapi/glx: Sync some additional error checking from xserver
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dcd41ca87a06199184eb8ada654aec985185189c
Author: Alejandro Piñeiro <apinheiro at igalia.com>
Date: Tue Feb 23 11:48:52 2016 +0100
glsl: raise warning when using uninitialized variables
v2:
* Take into account out varyings too (Timothy Arceri)
* Fix style (Timothy Arceri)
* Use a new ast_expression variable, instead of an
ast_expression::hir new parameter (Timothy Arceri)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94129
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8568d02498d12ebde6a6245056eebfbfe18aaf8f
Author: Alejandro Piñeiro <apinheiro at igalia.com>
Date: Thu Feb 25 11:11:54 2016 +0100
glsl: add is_lhs bool on ast_expression
Useful to know if a expression is the recipient of an assignment
or not, that would be used to (for example) raise warnings of
"use of uninitialized variable" without getting a false positive
when assigning first a variable.
By default the value is false, and it is assigned to true on
the following cases:
* The lhs assignments subexpression
* At ast_array_index, on the array itself.
* While handling the method on an array, to avoid the warning
calling array.length
* When computed the cached test expression at test_to_hir, to
avoid a duplicate warning on the test expression of a switch.
set_is_lhs setter is added, because in some cases (like ast_field_selection)
the value need to be propagated on the expression tree. To avoid doing the
propatagion if not needed, it skips if no primary_expression.identifier is
available.
v2: use a new bool on ast_expression, instead of a new parameter
on ast_expression::hir (Timothy Arceri)
v3: fix style and some typos on comments, initialize is_lhs default value
on constructor, to avoid a c++11 feature (Ian Romanick)
v4: some tweaks on comments (Timothy Arceri)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94129
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=35e2e96b307bcd6dd839a11e2bd98fa22bd4d50a
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 14:16:47 2016 -0700
nir: Add a helper for getting the current block from a cursor
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=be98c475284823abdd9a6102c1c65ed548d9afd2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 14:11:19 2016 -0700
nir/lower_out_to_temp: Add an "entrypoint" parameter
Previously, the pass assumed that the entrypoint would be whatever function
happened to have the name "main". We really shouldn't trust in the
function names.
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=31a5bec93fd6a39b0bc124965e828315aff105d2
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 14:17:18 2016 -0700
nir/lower_out_to_temp: Steal the output's constant initializer
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=38de85f9a5f3daae65ebe715f29fe2783e4ea146
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 14:07:41 2016 -0700
nir: Add a helper for getting the unique function in a shader
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=49be812be60e7fab949bcd352583649a1dbf06b4
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 11:10:30 2016 -0700
nir/sweep: Sweep function parameters
They are no longer in the list of local variables so we need to explicitly
sweep them.
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1be4c61c957d656d0d874b82779b4016a8bb03fd
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 10:43:46 2016 -0700
nir/builder: Add a helper for creating undefs
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a2479d61804e6cfc7389e1185139d0c8be758e3
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 10:35:03 2016 -0700
nir/builder: Add a helper for storing to variable derefs
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=77e2ac1da731f10d823ed9f477cc6898039dcec4
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 10:34:17 2016 -0700
nir/builder: Add a helper for building fdot instructions
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=da422663a6cacefcfae6be39154ab7598072cafa
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 10:18:35 2016 -0700
nir: Add a variable_foreach_safe helper
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=731870fbe31d00fd9d734c4a6ebdecb944181eb8
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Fri Mar 25 10:08:50 2016 -0700
nir/Makefile: Fix alphabetization
Reviewed-by: Rob Clark <robdclark at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b4c0c514b10ed85b50e4fc3bbd9c740db21e5720
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Feb 27 16:16:28 2016 -0500
mesa: add OES_texture_buffer and EXT_texture_buffer support
Allow ES 3.1 contexts to access the texture buffer functionality.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=720670a615590e37a7e85852527a590778e6f273
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Feb 27 16:13:50 2016 -0500
glsl: add OES_texture_buffer and EXT_texture_buffer support
Expose the samplerBuffer/imageBuffer types, and allow the various
functions to operate on them.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=74b76c08a3732b0ca337998780d01d67e7fd554b
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Feb 27 16:06:42 2016 -0500
mesa: add OES_texture_buffer and EXT_texture_buffer extension to table
We need to add a new bit since the GL ES exts require functionality from
a combination of texture buffer extensions as well as images (for
imageBuffer) support. Additionally, not all GPUs support all the texture
buffer functionality (e.g. rgb32 isn't supported by nv50).
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=659beca666c4e90ab5f366b231a94ed437898b80
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Feb 27 16:04:51 2016 -0500
mesa: properly return GetTexLevelParameter queries for buffer textures
This fixes all failures with dEQP tests in this area. While
ARB_texture_buffer_object explicitly says that GetTexLevelParameter & co
should not be supported, GL 3.1 reverses this decision and allows all of
these queries there.
Conversely, there is no text that forbids the buffer-specific queries
from being used with non-buffer images.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4ed4a2af8628e6adaa04fbe489d2d95747cf3634
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Mar 28 16:57:19 2016 -0700
glsl: Delete initialized field from uniform storage test.
Timothy deleted this field. Fixes "make check".
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=86d87d10474d1c5c5683acb28d4491e877432a90
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Sun Mar 27 14:51:02 2016 +1100
mesa: remove initialized field from uniform storage
The only place this was used was in a gallium debug function that
had to be manually enabled.
Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b8b3af2932039c6105d61f6922157a250ed8b79a
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Mon Mar 28 12:43:01 2016 +0200
nvc0: use a different offset for buffers and surfaces
To not overwrite buffers and surfaces information, we need to use
a different offset in the driver constant buffer. Currently, OP_SUQ
is only supported for buffers but this will be slightly updated for
images support.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Acked-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60d6a8989ab44cf47accee6bc692ba6fb98f6a9f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Mar 7 23:54:53 2016 -0800
i965: Set address rounding bits for GL_NEAREST filtering as well.
Yuanhan Liu decided these were useful for linear filtering in
commit 76669381 (circa 2011). Prior to that, we never set them;
it seems he tried to preserve that behavior for nearest filtering.
It turns out they're useful for nearest filtering, too: setting
these fixes the following dEQP-GLES3 tests:
functional.fbo.blit.rect.nearest_consistency_mag
functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_x
functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_y
functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_x
functional.fbo.blit.rect.nearest_consistency_mag_reverse_dst_y
functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_x
functional.fbo.blit.rect.nearest_consistency_mag_reverse_src_dst_y
functional.fbo.blit.rect.nearest_consistency_min
functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x
functional.fbo.blit.rect.nearest_consistency_min_reverse_src_y
functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_x
functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_y
functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x
functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag_reverse_src_x
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag_reverse_src_y
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag_reverse_dst_x
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag_reverse_dst_y
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag_reverse_src_dst_x
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_mag_reverse_src_dst_y
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min_reverse_src_x
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min_reverse_src_y
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min_reverse_dst_x
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min_reverse_dst_y
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min_reverse_src_dst_x
functional.fbo.blit.rect.nearest_consistency_out_of_bounds_min_reverse_src_dst_y
Apparently, BLORP has always set these bits unconditionally.
However, setting them unconditionally appears to regress tests using
texture projection, 3D samplers, integer formats, and vertex shaders,
all in combination, such as:
functional.shaders.texture_functions.textureprojlod.isampler3d_vertex
Setting them on Gen4-5 appears to regress Piglit's
tests/spec/arb_sampler_objects/framebufferblit.
Honestly, it looks like the real problem here is a lack of precision.
I'm just hacking around problems here (as embarassing as it is).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0faf26e6a0a34c3544644852802484f2404cc83e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Mar 23 11:56:39 2016 -0700
i965: Always use BRW_TEXCOORDMODE_CUBE when seamless filtering.
When using seamless cube map mode and NEAREST filtering, we explicitly
overrode the wrap modes to CLAMP_TO_EDGE. This was to implement the
following spec text:
"If NEAREST filtering is done within a miplevel, always apply apply
wrap mode CLAMP_TO_EDGE."
However, textureGather() ignores the sampler's filtering mode, and
instead returns the four pixels that would be blended by LINEAR
filtering. This implies that we should do proper seamless filtering,
and include pixels from adjacent cube faces.
It turns out that we can simply delete the NEAREST -> CLAMP_TO_EDGE
overrides. Normal cube map sampling works by first selecting the
face, and then nearest filtering fetches the closest texel. If the
nearest texel was on a different face, then that face would have been
chosen. So it should always be within the face anyway, which
effectively performs CLAMP_TO_EDGE.
Fixes 86 dEQP-GLES31.texture.gather.basic.cube.* tests.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Suggested-by: Ian Romanick <idr at freedesktop.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=72473658c51d5e074ce219c1e6385a4cce29f467
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Mar 25 15:33:35 2016 -0700
i965: Fix brw_render_cache_set_check_flush's PIPE_CONTROLs.
Our driver uses the brw_render_cache mechanism to track buffers we've
rendered to and are about to sample from.
Previously, we did a single PIPE_CONTROL with the following bits set:
- Render Target Flush
- Depth Cache Flush
- Texture Cache Invalidate
- VF Cache Invalidate
- Instruction Cache Invalidate
- CS Stall
This combined both "top of pipe" invalidations and "bottom of pipe"
flushes, which isn't how the hardware is intended to be programmed.
The "top of pipe" invalidations may happen right away, without any
guarantees that rendering using those caches has completed. That
rendering may continue altering the caches. The "bottom of pipe"
flushes do wait for the rendering to complete. The CS stall also
prevents further work from happening until data is flushed out.
What we wanted to do was wait for rendering complete, flush the new
data out of the render and depth caches, wait, then invalidate any
stale data in read-only caches. We can accomplish this by doing the
"bottom of pipe" flushes with a CS stall, then the "top of pipe"
flushes as a second PIPE_CONTROL. The flushes will wait until the
rendering is complete, and the CS stall will prevent the second
PIPE_CONTROL with the invalidations from executing until the first
is done.
Fixes dEQP-GLES3.functional.texture.specification.teximage2d_pbo
subtests on Braswell and Skylake. These tests hit the meta PBO
texture upload path, which binds the PBO as a texture and samples
from it, while rendering to the destination texture. The tests
then sample from the texture.
For now, we leave Gen4-5 alone. It probably needs work too, but
apparently it hasn't even been setting the (G45+) TC invalidation
bit at all...
v2: Add Sandybridge post-sync non-zero workaround, for safety.
Cc: mesa-stable at lists.freedesktop.org
Suggested-by: Francisco Jerez <currojerez at riseup.net>
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=de505f7d7bfff3fe031242589c8986ded201c837
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Mar 24 16:21:35 2016 -0700
i965: Whack UAV bit when FS discards and there are no color writes.
dEQP-GLES31.functional.fbo.no_attachments.* draws a quad with no
framebuffer attachments, using a shader that discards based on
gl_FragCoord. It uses occlusion queries to inspect whether pixels
are rendered or not.
Unfortunately, the hardware is not dispatching any pixel shaders,
so discards never happen, and the full quad of pixels increments
PS_DEPTH_COUNT, making the occlusion query results bogus.
To understand why, we have to delve into the WM_INT internal
signalling mechanism's formulas.
The "WM_INT::Pixel Shader Kill Pixel" signal is defined as:
3DSTATE_WM::ForceKillPixel == ON ||
(3DSTATE_WM::ForceKillPixel != Off &&
!WM_INT::WM_HZ_OP &&
3DSTATE_WM::EDSC_Mode != PREPS &&
(WM_INT::Depth Write Enable || WM_INT::Stencil Write Enable) &&
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(3DSTATE_PS_EXTRA::PixelShaderKillsPixels ||
3DSTATE_PS_EXTRA:: oMask Present to RenderTarget ||
3DSTATE_PS_BLEND::AlphaToCoverageEnable ||
3DSTATE_PS_BLEND::AlphaTestEnable ||
3DSTATE_WM_CHROMAKEY::ChromaKeyKillEnable))
Because there is no depth or stencil buffer, writes to those buffers
are disabled. So the highlighted condition is false, making the whole
"Kill Pixel" condition false. This then feeds into the following
"WM_INT::ThreadDispatchEnable" condition:
3DSTATE_WM::ForceThreadDispatch != OFF &&
!WM_INT::WM_HZ_OP &&
3DSTATE_PS_EXTRA::PixelShaderValid &&
(3DSTATE_PS_EXTRA::PixelShaderHasUAV ||
WM_INT::Pixel Shader Kill Pixel ||
WM_INT::RTIndependentRasterizationEnable ||
(!3DSTATE_PS_EXTRA::PixelShaderDoesNotWriteRT &&
3DSTATE_PS_BLEND::HasWriteableRT) ||
(WM_INT::Pixel Shader Computed Depth Mode != PSCDEPTH_OFF &&
(WM_INT::Depth Test Enable || WM_INT::Depth Write Enable)) ||
(3DSTATE_PS_EXTRA::Computed Stencil && WM_INT::Stencil Test Enable) ||
(3DSTATE_WM::EDSC_Mode == 1 && (WM_INT::Depth Test Enable ||
WM_INT::Depth Write Enable ||
WM_INT::Stencil Test Enable)))
Given that there's no depth/stencil testing, no writeable render target,
and the hardware thinks kill pixel doesn't happen, all of these
conditions are false. We have to whack some bit to make PS invocations
happen. There are many options.
Curro suggested using the UAV bit. There's some precedence in doing
that - we set it for fragment shaders that do SSBO/image/atomic writes
when no color buffer writes are enabled. We can simply include discard
here too.
Fixes 64 dEQP-GLES31.functional.fbo.no_attachments.* tests.
v2: Add a comment suggested and written by Jason Ekstrand.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=668b6ddfc5cb0b0d7e0e394804d80094e4f8e623
Author: Rhys Kidd <rhyskidd at gmail.com>
Date: Sat Mar 19 18:37:57 2016 -0400
vc4: Remove unused include from vc4_nir_lower_txf_ms.c
Found with grep and inspection. Test compiled on RPi hw.
Assists any future effort to remove TGSI as an intermediate stage.
Signed-off-by: Rhys Kidd <rhyskidd at gmail.com>
Signed-off-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2b8492d63ea14f36da00803620e89483743e77e7
Author: Adam Jackson <ajax at redhat.com>
Date: Thu Mar 24 13:57:57 2016 -0400
glapi/glx: Treat xserver generated targets as .PHONY
Meaning, always rebuild them when asked instead of bothering to look at
timestamps (and then wondering why nothing happened when you said make).
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2f0bc2537b8e3d8a8dc4b8fb2e7c54b89cab60d
Author: Adam Jackson <ajax at redhat.com>
Date: Thu Mar 24 13:57:57 2016 -0400
glapi/glx: Thunk non-ABI calls through GetProcAddress
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce3f0b23d1ee3e854780d01effb90a7c39134ffd
Author: Adam Jackson <ajax at redhat.com>
Date: Thu Mar 24 13:57:57 2016 -0400
glapi/glx: Emit direct GL calls instead of dispatch lookup
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0a9cbea4d7a6cede911cf82b57d7612f48d48a2
Author: Adam Jackson <ajax at redhat.com>
Date: Thu Mar 24 13:57:57 2016 -0400
glx: Unbreak generating some of the xorg glx headers
Broken by:
commit 9ace0b542241c77ae82a0835ac8a09e2a7510eaf
Author: Dylan Baker <baker.dylan.c at gmail.com>
Date: Wed May 20 15:49:11 2015 -0700
glapi: glX_proto_size.py: use argparse instead of getopt
Which changed most, but not all, callers to use --header-tag instead of
-h.
Reviewed-by: Dylan Baker <baker.dylan.c at gmail.com>
Signed-off-by: Adam Jackson <ajax at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd5f0950e4105b022d6c909e0a39fe38426312c4
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date: Mon Mar 28 17:01:49 2016 +0200
mesa/st: Fix NULL access if no fragment shader is bound
Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b4c72b792caecd8be271af20de92d24b4ae7da4c
Author: Rob Clark <robclark at freedesktop.org>
Date: Mon Mar 21 19:55:37 2016 -0400
freedreno/ir3: fix for load_front_face intrinsic
Seems like trying to widen in the same instruction as the add.s does a
non-sign-extending widen.
Signed-off-by: Rob Clark <robclark at freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ca034cada87aea58a92113cb38cf92a97d70c55
Author: Rob Clark <robclark at freedesktop.org>
Date: Sat Feb 6 09:09:52 2016 -0500
freedreno/ir3: fix compiler warn
Signed-off-by: Rob Clark <robclark at freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9f1affb2e52a7a75d968af117a03b01866546cb
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Mon Mar 28 00:52:00 2016 -0400
nvc0: make sure to disable fetches from previously-set VBOs when blitting
We disable the vertex attributes, but also disable the VBO fetch details
as well, just in case. Not known to fix anything.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=41100b6b44e747b9003937f123fce571fd3dec46
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sat Mar 26 22:32:43 2016 -0400
nvc0: disable primitive restart and index bias during blits
Back in the dawn of time, we used to do immediate uploads for the vertex
data, and all was well. However Maxwell dropped support for immediate
vertex data, so we started feeding in a VBO (in all cases). But we
forgot to disable some things that apply in such cases, specifically
primitive restart and index bias. The latter was causing WoW and other
Blizzard games trouble as they use a pattern where they draw with a base
vertex (aka index bias), followed by texture uploads (aka blits,
internally).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91526
Cc: "11.1 11.2" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Tested-by: Karol Herbst <nouveau at karolherbst.de>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f667d15561820ee9dd8e836d43cce3ee52a4780e
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sun Mar 20 17:26:13 2016 -0400
nvc0/ir: fix picking of coordinates from tex instruction for textureGrad
On Fermi, there's an argument in front of the coords that combines array
and indirect handle, while on Kepler the array and the indirect handle
are separate (and in front of the coords). We were previously only
accounting for the array bit of it, if there were an indirect access it
wouldn't be counted in the formula.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "11.1 11.2" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6711f159d94f37f3f45d36a8cb172cfc00692875
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sun Mar 20 13:11:01 2016 -0400
nv50/ir: saturate depth writes
Apparently there's no post-FS clamping logic, so we have to do this by
hand. The depth will never be outside of the 0..1 range, even on
floating point zeta buffers, so this should be safe.
Fixes dEQP-GLES3.functional.fbo.depth.*clamp.* which tests writing
invalid values on various zeta buffer formats.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6262d6125a175d64045083341e74985652f44f17
Author: Marek Olšák <marek.olsak at amd.com>
Date: Sun Mar 27 19:11:09 2016 +0200
gallium/util: fix up inaccurate behavior of util_framebuffer_state_equal (v2)
v2: move the nr_cbufs check above the loop
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu> (v1)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=21c479256a4f195bce89bc313ab9367deef20bb1
Author: Marek Olšák <marek.olsak at amd.com>
Date: Mon Mar 21 12:18:40 2016 +0100
st/mesa: only minify height if target != 1D array in st_finalize_texture
The st_texture_object documentation says:
"the number of 1D array layers will be in height0"
We can't minify that.
Spotted by luck. No app is known to hit this issue.
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=50d653c2bbe7e6a7c0893b13ad6e57b68f55f8e4
Author: Miklós Máté <mtmkls at gmail.com>
Date: Thu Mar 24 01:13:02 2016 +0100
mesa: optimize out the realloc from glCopyTexImagexD()
v2: comment about the purpose of the code
v3: also compare texFormat,
add a perf debug message,
formatting fixes
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Miklós Máté <mtmkls at gmail.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=baab345b192d207236253ce67b320fb32fa67625
Author: Miklós Máté <mtmkls at gmail.com>
Date: Thu Mar 24 01:13:00 2016 +0100
st/mesa: fix handling the fallback texture
This fixes crash when post-processing is enabled in SW:KotOR.
v2: fix const-ness
v3: move assignment into the if() block
Signed-off-by: Miklós Máté <mtmkls at gmail.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=920fbecf57bc8e81db029a52f6ef1c9344d8ddab
Author: Miklós Máté <mtmkls at gmail.com>
Date: Thu Mar 24 01:12:58 2016 +0100
st/mesa: enable GL_ATI_fragment_shader
Signed-off-by: Miklós Máté <mtmkls at gmail.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dee274477fb36aebc0ebf3eb1a9c58d875ad7a6f
Author: Miklós Máté <mtmkls at gmail.com>
Date: Thu Mar 24 01:12:57 2016 +0100
st/mesa: implement GL_ATI_fragment_shader
v2: fix arithmetic for special opcodes,
fix fog state, cleanup
v3: simplify handling of special opcodes,
fix rebinding with different textargets or fog equation,
lots of formatting fixes
v4: adapt to the compile early, fix later architecture,
formatting fixes
Signed-off-by: Miklós Máté <mtmkls at gmail.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d71c1e9e54d379ff312dca7eb4d717e3f20e4099
Author: Miklós Máté <mtmkls at gmail.com>
Date: Thu Mar 24 01:12:56 2016 +0100
program: add ATI_fragment_shader to shader stages list
Signed-off-by: Miklós Máté <mtmkls at gmail.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e2d5a6fac5c2b433cd78c0fc29b420b36c429cb9
Author: Miklós Máté <mtmkls at gmail.com>
Date: Thu Mar 24 01:12:55 2016 +0100
mesa: optionally associate a gl_program to ATI_fragment_shader
the state tracker will use it
Acked-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Signed-off-by: Miklós Máté <mtmkls at gmail.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=11bd53933e36665efdcfd922ab7c22d51429df9a
Author: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Date: Sun Mar 27 13:05:34 2016 +1100
gallium/p_context.h: Make comment more readable
Signed-off-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2df141087a56da20ad50b379b4a63426b870344a
Author: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Date: Sat Mar 26 18:35:07 2016 +1100
mesa/st: Remove GLSLVersion clamping
While here, remove itermediate glsl_feature_level variable.
Signed-off-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca22d2f1fdb09e9b77394bc88418251034d344b5
Author: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Date: Sat Mar 26 18:35:06 2016 +1100
radeon/r600: Fix return type in failure branch
Commit `d4e847ea` introduced a warning about making an
integer from a pointer without a cast, fix it here.
Signed-off-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1fb05a9a0cf12a16429cf7a02777390a9dfa19b3
Author: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Date: Sat Mar 26 18:35:05 2016 +1100
radeon/r600_query.c: Minor style fix
Signed-off-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
Signed-off-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fc3b000fef85f3e2a8ddcc648e215ff7dface3e2
Author: Dave Airlie <airlied at redhat.com>
Date: Thu Mar 24 09:28:49 2016 +1000
virgl: drop next shader property for now.
Signed-off-by: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8683d54d2be82519c31e087e17dd936d13fa9d07
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date: Thu Mar 24 12:11:01 2016 +1100
glsl: reduce buffer block duplication
This reduces some of the craziness required for handling buffer
blocks. The problem is each shader stage holds its own information
about a block in memory, we were copying that information to a
program wide list but the per stage information remained meaning
when a binding was updated we needed to update all versions of it.
This changes the per stage blocks to instead point to a single
version of the block information in the program list.
Acked-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8e5edaadfd5df6a473566ff55978aca27a37679
Author: Brian Paul <brianp at vmware.com>
Date: Fri Mar 25 14:06:39 2016 -0600
st/xa: emit sampler view declarations in shaders
Fixes recent regressions with the VMware gallium driver.
Reviewed-by: Charmaine Lee <charmainel at vmware.com>
Tested-by: Charmaine Lee <charmainel at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=74a04840e5e7213e1b317cfee63ce1e236c622fa
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 24 11:52:51 2016 -0600
swr: [rasterizer jitter] Fix MASKLOADD AVX prototype (float -> i32)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=93c1a2dedfa8b786e969a9ae44765bf6841218ef
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 24 00:01:23 2016 -0600
swr: [rasterizer core] NUMA optimizations...
- Affinitize hot-tile memory to specific NUMA nodes.
- Only do BE work for macrotiles assoicated with the numa node
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=090be2e434d6023428faa9842d38f9d5c3cef67a
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Wed Mar 23 18:12:11 2016 -0600
swr: [rasterizer jitter] Fix logic bug for alpha-to-coverage.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0767e820fd96e8bac2943fa8942bea3ff81b8bd9
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Tue Mar 22 17:28:06 2016 -0600
swr: [rasterizer core] Fix Compute workitem retirement
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=813e89c0cc0ea6a6ed4b69303073995b4c4c7666
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Tue Mar 22 15:13:29 2016 -0600
swr: [rasterizer core] Cleanup state ring arena after last draw that references it completes
Rather than waiting for the API thread to re-use it.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=83822d7ed580e764b3e0a6cb773310af2473f062
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Tue Mar 22 12:41:13 2016 -0600
swr: [rasterizer jitter] add missing include for llvm jitevents
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=51549912d1b1137572a0692972d1059ebb2e3384
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Tue Mar 22 09:27:18 2016 -0600
swr: [rasterizer core] Reduce Arena blocksize to 128KB (from 1MB).
With global allocator this doesn't seem to affect performance at all.
Overall memory consumption drops by up to 85%.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed5b9539191ca700887566a82162c06d94f57497
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Mar 21 17:55:46 2016 -0600
swr: [rasterizer core] One last pass at Arena optimizations
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee6be9e92dbdc3dbeb26e0f873c1784d563bf641
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Mar 21 17:30:03 2016 -0600
swr: [rasterizer core] CachedArena optimizations
Reduce list traversal during Alloc and Free.
Add ability to have multiple lists based on alloc size (not used for now)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=68314b676968e2cf0f8e94f573fa28e766e48349
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Mar 21 14:08:38 2016 -0600
swr: [rasterizer jitter] support llvm-svn
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ec9d4c4b372df773e4453c228b938e7c6c526c4c
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Mar 21 11:15:32 2016 -0600
swr: [rasterizer core] Globally cache allocated arena blocks for fast re-allocation.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=12ce9d9aa1819c0d7fb969b459a070c3cc9a617f
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Fri Mar 18 12:11:20 2016 -0600
swr: [rasterizer] more arena work
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4893224e2851683341d848926d267e5b5a4f39dc
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Fri Mar 18 11:48:47 2016 -0600
swr: [rasterizer core] Add clipping against user clip distances in the NullPS backend.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=700a5b06e036d7515c6d5f2f9e2d40e5a65eb964
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 17 18:10:25 2016 -0600
swr: [rasterizer core] Arena optimizations - preparing for global allocator.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5899076b6b24a7275fb6b4ad6a42686225ef0156
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 17 16:50:46 2016 -0600
swr: [rasterizer core] Reset DrawContext arena at end of draw rather than upon reclaim of DC
Keeps overall memory consumption lower.
Also, remove unused knobs.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=73904184412fa5e9c2f1bab8580664c449f12aa2
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 17 16:12:17 2016 -0600
swr: [rasterizer core] Add clipping of user clip planes in clipper.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b4547a7216ec6309da54f508211c0aba02ad5e3
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 17 15:39:13 2016 -0600
swr: [rasterizer] Reduce max in-flight draws to 96 (by default)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9111d63228afffed301bb888eb71af287a0887d3
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 17 12:22:43 2016 -0600
swr: [rasterizer] Fix run-time check asserts
One innocuous (uninitialized variable), and one not so innocuous
(stack corruption).
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=257db3610a91a9355d8301b8fb6123346f9c1b07
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Wed Mar 16 17:54:04 2016 -0600
swr: [rasterizer jitter] signed immediate builder
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b958aea78abca7f7dc4e3724950fa02a11c25e99
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Wed Mar 16 11:56:50 2016 -0600
swr: [rasterizer common] changes for cygwin
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1222ade0039289993fbec261408eea5e0d7d9ae
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Mar 14 15:54:29 2016 -0600
swr: [rasterizer] code styling and update copyrights
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c75314ec67f011599d8e84e6eaef897911d9e892
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 10 19:20:07 2016 -0600
swr: [rasterizer core] Guard against enquing work to invalid hot tiles
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fee56fda6fd78f7fb10b0e8fced0a604ca43f0c0
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 10 19:19:30 2016 -0600
swr: [rasterizer] Stop setting viewport size to larger than hottile array
Guard against enquing work to invalid tiles
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e374d2d24b0d755c9380da0eb33e4151b1ad145f
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 10 18:30:40 2016 -0600
swr: [rasterizer] Discard work + misc fixes
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=542d7dec7b8748b164150bd0818e880ed31918e3
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 10 15:15:40 2016 -0600
swr: [rasterizer] remove use of BYTE type
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=be4c558d0167dd9d593a9adb44dad53b020817f7
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Wed Mar 9 17:18:55 2016 -0600
swr: [rasterizer core] Fix crash that can occur when switching contexts
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=51a11658d9aa5b77cef502d128b7889b6952d4f6
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Wed Mar 9 16:33:33 2016 -0600
swr: [rasterizer] remove unused knob
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=61beaa22795d45f3416ecb27de54a9ee8ae1b283
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Wed Mar 9 16:15:37 2016 -0600
swr: [rasterizer core] subcontext rework
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c18900cfb65379dea11f699bafccdd50e5c87c0
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Tue Mar 8 18:58:54 2016 -0600
swr: [rasterizer common] add _simd_s[rl]lv_epi32
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bef222db22365c2518110d30cd1227625a86195b
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Tue Mar 8 11:56:06 2016 -0600
swr: [rasterizer core] Alleviate potential stack overflow for 32bit builds
Move large stack allocations in the GS and clipper into thread local storage.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3132f731f8c4e6300ee31805be59920543b22557
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Mar 7 14:45:17 2016 -0600
swr: [rasterizer] remove use of UCHAR and UINT64 types
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=643857f596529f4887eaa13e5d336efd6da371ad
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Mar 7 10:51:56 2016 -0600
swr: [rasterizer] remove use of FLOAT type
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3252fe3705376063f94a7717c07b9824b5d43f46
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Mar 7 01:14:13 2016 -0600
swr: [rasterizer] Fix Coverity issues reported by Mesa developers.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=45d52673c23197966f9b4d1fc302dba6b24c8d22
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Sat Mar 5 00:53:04 2016 -0600
swr: [rasterizer] add debug/perf category to knobs
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1da9c8a970207b5aac96b3161706041e781124f6
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 24 11:07:32 2016 -0500
swr: [rasterizer core] don't assume linux is 64-bit
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=49678803f79ee097749a5b2423b82bd50c6ea430
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 24 11:07:15 2016 -0500
swr: [rasterizer common] remove old unused win32 types
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aca55131843dec6da27f76308b2b4a145fc9e152
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Mar 3 18:19:45 2016 -0600
swr: [rasterizer jitter] vpermps support
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfb954189e166cee8b748edc29f5751d0c97c608
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Feb 29 12:01:48 2016 -0600
swr: [rasterizer] Add rdtsc buckets support for shaders
Pass pointer to core buckets mgr back to sim layer.
Add support for RDTSC_START/RDTSC_STOP macros in the builder.
Each unique shader now has a unique bucket associated with it,
enabling more detailed reporting at the shader level. Currently
due to some llvm issue with thread local storage, 64bit runs require
single threaded mode.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=abd4aa68cc1a7d8a20547069c617388eedb3673e
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Wed Feb 24 13:34:50 2016 -0600
swr: [rasterizer core] backend reorganization
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=13303f3320758220560e92450e3e5264ce11e792
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Wed Feb 24 19:03:33 2016 -0600
swr: [rasterizer core] store blend output in temporary instead of PS output.
Fixes additive blend problem with MSAA
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f4fba3772cb2e6c23e7f664c3225ba4e0889ff4
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Tue Feb 23 17:29:59 2016 -0600
swr: [rasterizer core] Move InitializeHotTiles and corresponding clear code out of threads.cpp.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bdd690dc3667f66cbe87974f18e247cf1e6f9c5f
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Tue Feb 23 13:47:24 2016 -0600
swr: [rasterizer jitter] Cleanup use of types inside of Builder.
Also, cached the simd width since we don't have to keep querying
the JitManager for it.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7ead4959a5a1b5687458173490b2eec91ef6193b
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Mon Feb 22 11:00:07 2016 -0600
swr: [rasterizer jitter] Fix type mismatch on select args for SCATTERPS
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=136988b42b6c7bd9649fd13d5a6117b02a41e52a
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Fri Feb 19 19:05:14 2016 -0600
swr: [rasterizer core] fix rasterizing multisampling with scissor enabled
We were not evaluating the scissor edge equations at sample positions.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=45f0ce168ce21a7a95f48d3164e42a947732b896
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Fri Feb 19 17:55:23 2016 -0600
swr: [rasterizer core] RingBuffer class for DC/DS
Use head/tail ring buffer indices for thread synchronization.
1. SwrWaitForIdle loops until ring is empty. (head == tail)
2. GetDrawContext waits until ring is not full. (head - tail) == Ring Size
3. Draw enqueues by incrementing head.
4. Last worker thread to move past a DC dequeues by incrementing tail.
Todo: To reduce contention we can cache the tail in the API thread. For
example, if you know you have 64 free entries in the ring then you don't
need to keep checking the tail until you used those 64 entries.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd0f9eed8cda45ed1373abebad7dd2398a16e9a7
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Thu Feb 18 19:00:30 2016 -0600
swr: [rasterizer] switch assert uses to SWR_ASSERT
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=45a4afa634bdca2b1147a76b74ed15a690b7a014
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Wed Feb 17 17:55:59 2016 -0600
swr: [rasterizer core] Split all RECT_LIST draws into 1 RECT per draw
Needed until proper RECT_LIST PrimAssembly code is written.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a251859903dd567ba81d86f06f5c86933a010af
Author: Tim Rowley <timothy.o.rowley at intel.com>
Date: Tue Feb 16 17:32:34 2016 -0600
swr: [rasterizer] Add string knob type
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f00c840578a70e479ffb99f6b64c73dc420179fa
Author: Sonny Jiang <sonny.jiang at amd.com>
Date: Wed Nov 4 11:01:33 2015 -0500
radeonsi: add Polaris PCI IDs
Signed-off-by: Sonny Jiang <sonny.jiang at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com> (Polaris10)
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com> (Polaris11)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f87ed903fb6fd1bdb0cfa7a4dd5b9d00a9f38e31
Author: Sonny Jiang <sonny.jiang at amd.com>
Date: Tue Dec 15 15:33:40 2015 -0500
radeon/vce: disable two pipe mode for Polaris11
Signed-off-by: Sonny Jiang <sonny.jiang at amd.com>
Reviewed-by: Leo Liu <leo.liu at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c5477465f08502fd81783ce17c449330537eb00
Author: Sonny Jiang <sonny.jiang at amd.com>
Date: Tue Dec 15 15:16:29 2015 -0500
radeon/vce: add Polaris11 VCE firmware support
Signed-off-by: Sonny Jiang <sonny.jiang at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=42e442d888ce2d3dcb95350d17c298791f5d76cc
Author: Sonny Jiang <sonny.jiang at amd.com>
Date: Wed Nov 4 16:13:07 2015 -0500
radeonsi: add support for Polaris (v2)
v2: Polaris chips should be defined after Stoney
Signed-off-by: Sonny Jiang <sonny.jiang at amd.com> (v1)
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com> (v1)
Signed-off-by: Leo Liu <leo.liu at amd.com> (v2 diff)
Reviewed-by: Alex Deucher <alexander.deucher at amd.com> (v2 diff)
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5e24b19e883281452952ecce3e811cda1f7946c
Author: Sonny Jiang <sonny.jiang at amd.com>
Date: Tue Nov 3 11:46:38 2015 -0500
winsys/amdgpu: addrlib - add Polaris support (v2)
v2: fix indentation as noted by Michel
Signed-off-by: Sonny Jiang <sonny.jiang at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=511ce2925baf90c1d93d3e6a389d31e8e7549493
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Mar 23 22:35:41 2016 -0700
mesa: Check glReadBuffer enums against the ES3 table.
From the ES 3.2 spec, section 16.1.1 (Selecting Buffers for Reading):
"An INVALID_ENUM error is generated if src is not BACK or one of
the values from table 15.5."
Table 15.5 contains NONE and COLOR_ATTACHMENTi.
Mesa properly returned INVALID_ENUM for unknown enums, but it decided
what was known by using read_buffer_enum_to_index, which handles all
enums in every API. So enums that were valid in GL were making it
past the "valid enum" check. Such targets would then be classified
as unsupported, and we'd raise INVALID_OPERATION, but that's technically
the wrong error code.
Fixes dEQP-GLES31's
functional.debug.negative_coverage.get_error.buffer.read_buffer
v2: Only call read_buffer_enuM_to_index when required (Eduardo).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eduardo Lima Mitev <elima at igalia.com>
More information about the mesa-commit
mailing list