URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=62eb86dd4ccedcd00835285ddf1c96a29ad246f2
Author: Eduardo Lima Mitev <[email protected]>
Date: Sun Mar 5 20:28:43 2017 +0100
glsl/linker: Check that re-declared, inter-shader built-in blocks match
>From GLSL 4.5 spec, section "7.1 Built-In Language Variables", page 130 of
the PDF states:
"If multiple shaders using members of a built-in block belonging to
the same interface are linked together in the same program, they must
all redeclare the built-in block in the same way, as described in
section 4.3.9 “Interface Blocks” for interface-block matching, or a
link-time error will result."
Fixes:
* GL45-CTS.CommonBugs.CommonBug_PerVertexValidation
v2 (Neil Roberts):
Explicitly look for gl_PerVertex in the symbol tables instead of
waiting to find a variable in the interface.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102677
Reviewed-by: Kenneth Graunke <[email protected]>
Signed-off-by: Eduardo Lima Mitev <[email protected]>
Signed-off-by: Neil Roberts <[email protected]>
(cherry picked from commit f9de7f55969e981f6e98a41fce04bc3a2a8280eb)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2dc404f73f96f2e4361247a69daa9efbeb93fa94
Author: Eduardo Lima Mitev <[email protected]>
Date: Sun Mar 5 20:28:42 2017 +0100
glsl: Use the utility function to copy symbols between symbol tables
This effectively factorizes a couple of similar routines.
v2 (Neil Roberts): Non-trivial rebase on master
Reviewed-by: Kenneth Graunke <[email protected]>
Signed-off-by: Eduardo Lima Mitev <[email protected]>
Signed-off-by: Neil Roberts <[email protected]>
(cherry picked from commit f5fe99ac85e15b705612bd9e7599cc974c2a121b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f76bea8abc187100caf4d52563f1b66d6878de5b
Author: Eduardo Lima Mitev <[email protected]>
Date: Sun Mar 5 20:28:41 2017 +0100
glsl_parser_extra: Add utility to copy symbols between symbol tables
Some symbols gathered in the symbols table during parsing are needed
later for the compile and link stages, so they are moved along the
process. Currently, only functions and non-temporary variables are
copied between symbol tables. However, the built-in gl_PerVertex
interface blocks are also needed during the linking stage (the last
step), to match re-declared blocks of inter-stage shaders.
This patch adds a new utility function that will factorize current code
that copies functions and variables between two symbol tables, and in
addition will copy explicitly declared gl_PerVertex blocks too.
The function will be used in a subsequent patch.
v2 (Neil Roberts):
Allow the src symbol table to be NULL and explicitly copy the
gl_PerVertex symbols in case they are not referenced in the exec_list.
Reviewed-by: Kenneth Graunke <[email protected]>
Signed-off-by: Eduardo Lima Mitev <[email protected]>
Signed-off-by: Neil Roberts <[email protected]>
(cherry picked from commit 4c62a270a99d443316e29020377465a90a6968c0)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=32b0691249d639f661c2b52fa06d7b03b5d93010
Author: Nicolai Hähnle <[email protected]>
Date: Tue Aug 1 12:44:34 2017 +0200
glsl: fix interpolateAtXxx(some_vec[idx], ...) with dynamic idx
The dynamic index of a vector (not array!) is lowered to a sequence of
conditional assignments. However, the interpolate_at_* expressions
require that the interpolant is an l-value of a shader input.
So instead of doing conditional assignments of parts of the shader input
and then interpolating that (which is nonsensical), we interpolate the
entire shader input and then do conditional assignments of the interpolated
result.
Reviewed-by: Timothy Arceri <[email protected]>
(cherry picked from commit ca63a5ed3e9efb2bd645b425f7393089f4e132a6)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=267fe4f1f9a11b854d139d8704f69311f64c9410
Author: Nicolai Hähnle <[email protected]>
Date: Wed Jun 14 12:43:10 2017 +0200
glsl: allow any l-value of an input variable as interpolant in
interpolateAt*
The intended rule has been clarified in GLSL 4.60, Section 8.13.2
(Interpolation Functions):
"For all of the interpolation functions, interpolant must be an l-value
from an in declaration; this can include a variable, a block or
structure member, an array element, or some combination of these.
Component selection operators (e.g., .xy) may be used when specifying
interpolant."
For members of interface blocks, var->data.must_be_shader_input must be
determined on-the-fly after lowering interface blocks, since we don't want
to disable varying packing for an entire block just because one input in it
is used in interpolateAt*.
v2: keep setting must_be_shader_input in ast_function (Ian)
v3: follow the relaxed rule of GLSL 4.60
v4: only apply the relaxed rules to desktop GL
(the ES WG decided that the relaxed rules may apply in a future version
but not retroactively; see also
dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.negative.*)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101378
Reviewed-by: Ian Romanick <[email protected]> (v1)
Reviewed-by: Timothy Arceri <[email protected]>
(cherry picked from commit 4f42450b86ea30f9228309e02ca68755c389866f)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=07da9fd9477cdff37f133d65d54c3e858cb215a2
Author: Fabian Bieler <[email protected]>
Date: Thu Nov 23 13:48:00 2017 -0700
glsl: Fix gl_NormalScale.
GLSL shaders can access the normal scale factor with the built-in
gl_NormalScale. Mesa's modelspace lighting optimization uses a different
normal scale factor than defined in the spec. We have to take care not
to use this factor for gl_NormalScale.
Mesa already defines two seperate states: state.normalScale and
state.internal.normalScale. The first is used by the glsl compiler
while the later is used by the fixed function T&L pipeline. Previously
the only difference was some component swizzling. With this commit
state.normalScale always uses the normal scale factor for eyespace
lighting.
Reviewed-by: Brian Paul <[email protected]>
(cherry picked from commit c3ee464d7aa170225b5ec23b53a7f8d07663d428)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe15da8245ff7a57a8c1cf48482c915f0bd87be4
Author: Fabian Bieler <[email protected]>
Date: Thu Nov 23 13:48:00 2017 -0700
glsl: Match order of gl_LightSourceParameters elements.
spotExponent and spotCosCutoff were swapped in the
gl_builtin_uniform_element struct.
Now the order matches across gl_builtin_uniform_element,
glsl_struct_field and the spec.
Reviewed-by: Brian Paul <[email protected]>
(cherry picked from commit 9bdb5457f4ecabd59e05d0b6cea1ff88bcb49d7f)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=511cfe1d706bc2fb0cfe5715397735fb0af4ea44
Author: Eric Anholt <[email protected]>
Date: Fri Nov 24 21:40:50 2017 -0800
broadcom/vc4: Fix handling of GFXH-515 workaround with a start vertex count.
We failed to take the start into account for how many vertices to draw in
this round, so we would end up decrementing count below 0, which as an
unsigned number meant we would loop until the CLs soon ran out of space.
When I wrote the code I was thinking about how to use the previously
emitted shader state (no index bias baked into the elements) by emitting
up to 65535 and then only re-emitting with bias for the second wround, but
that doesn't work if the start is over 65535. Instead, just delay
emitting shader state until we get into the drawarrays GFXH-515 loop and
always bake the bias in when we're doing the workaround.
(cherry picked from commit 84ab48c15c9373dfa4709f4f9e887c329286e5a1)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d95c2edcdec3f329383d04bcccedb1ddd2276e16
Author: Julien Isorce <[email protected]>
Date: Tue Jul 25 15:31:28 2017 +0100
st/va: change frame_idx from array to hash table
The picture_id was assumed to be a frame number so in 0-31.
But the vaapi client gstreamer-vaapi uses the surfaces handles
as identifier which are unsigned int.
This bug can happen when using a lot of vaapi surfaces within
the same process. Indeed Mesa/st/va increments a counter for the
surface ID: mesa/util/u_handle_table.c::handle_table_add which
starts from 0 and incremented by 1 at each call.
So creating more than 32 surfaces was a problem.
The following bug contains a test that reproduces the problem
by running a couple of vaapih264enc in the same process. The
above also explains why there was no pb when running them in
separated processes.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102006
Signed-off-by: Julien Isorce <[email protected]>
Tested-by: Tomas Rataj <[email protected]>
Acked-by: Christian König <[email protected]>
Reviewed-and-tested-by: Boyuan Zhang <[email protected]>
(cherry picked from commit 91d93aa62162f98d6377e5c796b63faa263f2c18)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f1c8733d2fd1a215a0c641fdcc193cdfdbf89bd
Author: Denis Pauk <[email protected]>
Date: Tue Sep 12 23:38:45 2017 +0300
gallium/{r600, radeonsi}: Fix segfault with color format (v2)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102552
v2: Patch cleanup proposed by Nicolai Hähnle.
* deleted changes in si_translate_texformat.
Cc: Nicolai Hähnle <[email protected]>
Cc: Ilia Mirkin <[email protected]>
Signed-off-by: Marek Olšák <[email protected]>
(cherry picked from commit 74d2456491fbd96eb3fb99cf8dd3595b223c2065)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac78f7c76a7d21de280592d539aafdea6eecd5bb
Author: Vinson Lee <[email protected]>
Date: Tue Nov 28 23:16:58 2017 -0800
anv: Check if memfd_create is already defined.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103909
Signed-off-by: Vinson Lee <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit 8c1e4b1afc8d396ccf99c725c59b29a9aa305557)
[Emil Velikov: resolve trivial conflicts]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
configure.ac
meson.build
src/intel/vulkan/anv_allocator.c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a266cb675425e0e750278161e237bb553b4209c
Author: Matt Turner <[email protected]>
Date: Thu Sep 21 16:42:02 2017 -0700
i965/fs: Unpack count argument to 64-bit shift ops on Atom
64-bit operations on Atom parts have additional restrictions over their
big-core counterparts (validated by later patches).
Specifically, the restriction that "Source and Destination horizontal
stride must be aligned to the same qword" is violated by most shift
operations since NIR uses a 32-bit value as the shift count argument,
and this causes instructions like
shl(8) g19<1>Q g5<4,4,1>Q g23<4,4,1>UD
where src1 has a 32-bit stride, but the dest and src0 have a 64-bit
stride.
This caused ~4 pixels in the ARB_shader_ballot piglit test
fs-readInvocation-uint.shader_test to be incorrect. Unfortunately no
ARB_gpu_shader_int64 test hit this case because they operate on
uniforms, and their scalar regions are an exception to the restriction.
We work around this by effectively unpacking the shift count, so that we
can read it with a 64-bit stride in the shift instruction. Unfortunately
the unpack (a MOV with a dst stride of 2) is a partial write, and cannot
be copy-propagated or CSE'd.
Bugzilla: https://bugs.freedesktop.org/101984
(cherry picked from commit b541945c2027990ac571184bbf8e01285be0e33a)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e53135725fa24d2a80737db3257209c7993407b0
Author: Frank Richter <[email protected]>
Date: Tue Oct 17 10:34:27 2017 +0200
gallium/wgl: fix default pixel format issue
When creating a context without SetPixelFormat() don't blindly take the
pixel format reported by GDI. Instead, look for our own closest pixel
format.
Minor clean-ups added by Brian Paul.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103412
Reviewed-by: Brian Paul <[email protected]>
Tested-by: Brian Paul <[email protected]>
(cherry picked from commit bf41b2b2627aa3790d380092c28c5d3395cc9cde)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d19ff0d6717abe636b61a6e932e45c5c0acdb58
Author: Juan A. Suarez Romero <[email protected]>
Date: Tue Oct 31 17:39:17 2017 +0000
glsl: add varying resources for arrays of complex types
This patch is mostly a patch done by Ilia Mirkin.
It fixes KHR-GL45.enhanced_layouts.varying_structure_locations.
v2: fix locations for TCS/TES/GS inputs and outputs (Ilia)
CC: Ilia Mirkin <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103098
Reviewed-by: Nicolai Hähnle <[email protected]>
Signed-off-by: Juan A. Suarez Romero <[email protected]>
(cherry picked from commit d5a641106baae2122cc3f09b4a755077d902ee88)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=df137dff8fc2e286bc10523eb3423d9f1487f64a
Author: George Kyriazis <[email protected]>
Date: Wed Sep 13 21:06:44 2017 -0500
swr: Handle resource across context changes
Swr caches fb contents in tiles. Those tiles are stored on a per-context
basis.
When switching contexts that share resources we need to make sure that
the tiles of the old context are being stored and the tiles of the new
context are being invalidated (marked as invalid, hence contents need
to be reloaded).
The context does not get any dirty bits to identify this case. This has
to be, then, coordinated by the resources that are being shared between
the contexts.
Add a "curr_pipe" hook in swr_resource that will allow us to identify a
MakeCurrent of the above form during swr_update_derived(). At that time,
we invalidate the tiles of the new context. The old context, will need to
have already store its tiles by that time, which happens during glFlush().
glFlush() is being called at the beginning of MakeCurrent.
So, the sequence of operations is:
- At the beginning of glXMakeCurrent(), glFlush() will store the tiles
of all bound surfaces of the old context.
- After the store, a fence will guarantee that the all tile store make
it to the surface
- During swr_update_derived(), when we validate the new context, we check
all resources to see what changed, and if so, we invalidate the
current tiles.
Fixes rendering problems with CEI/Ensight.
Reviewed-by: Bruce Cherniak <[email protected]>
(cherry picked from commit b9aa0fa7d646f9ebb0a2e08d262c2eebfd875610)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103732
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=edd1f519f451e0fb3dca94cfab135084aaec4fd1
Author: Timothy Arceri <[email protected]>
Date: Thu Dec 7 10:16:55 2017 +1100
glsl: get correct member type when processing xfb ifc arrays
This fixes a crash in:
KHR-GL45.enhanced_layouts.xfb_block_stride
Fixes: 0822517936d4 "glsl: add helper to process xfb qualifiers during
linking"
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 9d53ccccb251d21f9291abaa3a28a41d06ce8c91)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f51950c4130b91c048c2bccef6395df5fb1e7e38
Author: Nicolai Hähnle <[email protected]>
Date: Thu Nov 23 10:25:34 2017 +0100
radeonsi: fix the R600_RESOURCE_FLAG_UNMAPPABLE check
The flag is on the pipe_resource, not the r600_resource.
I don't see an obvious bug related to this, but it could potentially lead
to suboptimal placement of some resources.
Fixes: a41587433c4d ("gallium/radeon: add R600_RESOURCE_FLAG_UNMAPPABLE")
Reviewed-by: Marek Olšák <[email protected]>
Tested-by: Dieter Nützel <[email protected]>
(cherry picked from commit 5e2962c9492e6a948516f6360f973e2e92034b01)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c2f6658631a86a3edca815433413b2bfad09cc9
Author: Pierre Moreau <[email protected]>
Date: Sun Dec 3 21:28:57 2017 +0100
nvc0/ir: Properly lower 64-bit shifts when the shift value is >32
Fixes: 61d7676df77 "nvc0/ir: add support for 64-bit shift lowering on
SM20/SM30"
Fixes fs-shift-scalar-by-scalar.shader_test from piglit for the current
set-up:
uniform int64_t ival -0x7dfcfefbdf6536ff # bit pattern: 0x82030104209ac901
uniform uint64_t uval 0x1400000085010203
uniform int shl 36
uniform int shr 36
uniform int64_t iexpected_shl 0x09ac901000000000
uniform int64_t iexpected_shr -0x7dfcff0 # bit pattern: 0xfffffffff8203010
uniform uint64_t uexpected_shl 0x5010203000000000
uniform uint64_t uexpected_shr 0x0000000001400000
draw rect ortho 12 0 4 4
Signed-off-by: Pierre Moreau <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
(cherry picked from commit 9bee12160bed72dae5cdb006ea38c40f89e174da)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a552480249f800ee7e5be8eb21f3435bda2c279d
Author: Vadym Shovkoplias <[email protected]>
Date: Fri Dec 1 13:23:02 2017 +0200
glx/dri3: Remove unused deviceName variable
deviceName string is declared, assigned and freed but actually
never used in dri3_create_screen() function.
Fixes: 2d94601582e ("Add DRI3+Present loader")
Signed-off-by: Vadym Shovkoplias <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit d5559292394f0e9b1c682baca05f81366fb389af)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ecf8e4a64ca48eda14314b84ccd061713492d122
Author: Vadym Shovkoplias <[email protected]>
Date: Mon Nov 27 12:15:13 2017 +0200
intel/blorp: Fix possible NULL pointer dereferencing
Fix incomplete check of input params in blorp_surf_convert_to_uncompressed()
which can lead to NULL pointer dereferencing.
Fixes: 5ae8043fed2 ("intel/blorp: Add an entrypoint for doing
bit-for-bit copies")
Fixes: f395d0abc83 ("intel/blorp: Internally expose
surf_convert_to_uncompressed")
Reviewed-by: Emil Velikov <[email protected]>
Reviewed-by: Andres Gomez <[email protected]>
(cherry picked from commit cdb3eb7174f84f3200408c4b43c819fb093da9c6)
[Emil Velikov: drop non-applicable x/y hunk]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/intel/blorp/blorp_blit.c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=14df2f2d278ea64033f5ad300b197f0ddb0ad6a9
Author: Kenneth Graunke <[email protected]>
Date: Sat Nov 25 16:59:27 2017 -0800
i965: Fix Smooth Point Enables.
We want to program the 3DSTATE_RASTER field to the gl_context value,
not the other way around.
Fixes: 13ac46557ab1 (i965: Port Gen8+ 3DSTATE_RASTER state to genxml.)
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
(cherry picked from commit 760e0156dfd5cf0281bc964a8090c792fc44ab16)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=83c85b28a4905e84c56f37b9d561fa372d11b0ea
Author: Eric Engestrom <[email protected]>
Date: Thu Nov 23 13:16:43 2017 +0000
compiler: use NDEBUG to guard asserts
nir_validate.c's #endif already had the correct NDEBUG comment
Fixes: dcb1acdea00a8f2c29777 "nir/validate: Only build in debug mode"
Fixes: 9ff71b649b4b3808a9e17 "i965/nir: Validate that NIR passes call
nir_metadata_preserve()"
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
(cherry picked from commit 7b85b9b8773b119360a31b66b321ae560a77cb6d)
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/compiler/nir/nir.h
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a698f7f92e25858f10ac1aec282250d47d51a8c
Author: Matt Turner <[email protected]>
Date: Thu Nov 23 10:41:34 2017 -0800
util: Fix disk_cache index calculation on big endian
The cache-test test program attempts to create a collision (using key_a
and key_a_collide) by making the first two bytes identical. The idea is
fine -- the shader cache wants to use the first four characters of a
SHA1 hex digest as the index.
The following program
unsigned char array[4] = {1, 2, 3, 4};
int *ptr = (int *)array;
for (int i = 0; i < 4; i++) {
printf("%02x", array[i]);
}
printf("\n");
printf("%08x\n", *ptr);
prints
01020304
04030201
on little endian, and
01020304
01020304
on big endian.
On big endian platforms reading the character array back as an int (as
is done in disk_cache.c) does not yield the same results as reading the
byte array.
To get the first four characters of the SHA1 hex digest when we mask
with CACHE_INDEX_KEY_MASK, we need to byte swap the int on big endian
platforms.
Bugzilla: https://bugs.freedesktop.org/103668
Bugzilla: https://bugs.gentoo.org/637060
Bugzilla: https://bugs.gentoo.org/636326
Fixes: 87ab26b2ab35 ("glsl: Add initial functions to implement an
on-disk cache")
Reviewed-by: Emil Velikov <[email protected]>
(cherry picked from commit c690a7a8cdfb6425547bbb782020098405851194)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1cb18fc98b8a82d55248902ceaeb0e9bbe638f9f
Author: Matt Turner <[email protected]>
Date: Wed Nov 22 22:39:51 2017 -0800
util: Fix SHA1 implementation on big endian
The code defines a macro blk0(i) based on the preprocessor condition
BYTE_ORDER == LITTLE_ENDIAN. If true, blk0(i) is defined as a byte swap
operation. Unfortunately, if the preprocessor macros used in the test
are no defined, then the comparison becomes 0 == 0 and it evaluates as
true.
Fixes: d1efa09d342b ("util: import sha1 implementation from OpenBSD")
Reviewed-by: Emil Velikov <[email protected]>
(cherry picked from commit 532674303a92c438cb1c48d224e9dee9dece91ec)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4473097d92ac53c8284d9370d4ba65ccc0834e8e
Author: Matt Turner <[email protected]>
Date: Mon Nov 20 14:24:57 2017 -0800
i965/fs: Handle negating immediates on MADs when propagating saturates
MADs don't take immediate sources, but we allow them in the IR since it
simplifies a lot of things. I neglected to consider that case.
Fixes: 4009a9ead490 ("i965/fs: Allow saturate propagation to propagate
negations into MADs.")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103616
Reported-and-Tested-by: Ruslan Kabatsayev <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
(cherry picked from commit a05af1f7b8f82a38513bba31f9573cd62d82f18d)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=63f44f2e0f3ffd2d9447e54b2d66702924bf6104
Author: Ben Crocker <[email protected]>
Date: Mon Nov 27 14:44:58 2017 -0500
docs/llvmpipe: document ppc64le as alternative architecture to x86.
Power8, Power8NV, and Power9 are supported on an equal footing
with X86.
Cc: "17.2" "17.3" <[email protected]>
Signed-off-by: Ben Crocker <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
[Eric: changed formatting, reworded a bit (with Ben's ack)]
Signed-off-by: Eric Engestrom <[email protected]>
(cherry picked from commit 060eb314eb4e551cf870ad6a6e7e1363d4228efe)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=773282c1f851efc61b068d2b1713d757cb09351f
Author: James Legg <[email protected]>
Date: Wed Dec 6 11:55:14 2017 +0000
nir/opcodes: Fix constant-folding of bitfield_insert
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104119
CC: <[email protected]>
CC: Samuel Pitoiset <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
(cherry picked from commit 947470d10ba5ab11a75f0e19e124b189ff3fd8b2)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c9c07b0f9728192184108f1c0cd155139990914
Author: Alex Smith <[email protected]>
Date: Wed Dec 6 10:28:14 2017 +0000
radv: Add LLVM version to the device name string
Allows apps to determine the LLVM version so that they can decide
whether or not to enable workarounds for LLVM issues.
Signed-off-by: Alex Smith <[email protected]>
Cc: "17.2 17.3" <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Tested-by: Dieter Nützel <[email protected]>
(cherry picked from commit 8fda98c4f1dba2488b9e3ef3e820585f48a8a2f9)
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_private.h
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=85724a9a69319a6fc0d6b152e45ae5a44150934c
Author: Kenneth Graunke <[email protected]>
Date: Tue Mar 21 00:30:06 2017 -0700
meta: Fix ClearTexture with GL_DEPTH_COMPONENT.
We only handled unpacking for GL_DEPTH_STENCIL formats.
Cemu was hitting _mesa_problem() for an unsupported format in
_mesa_unpack_float_32_uint_24_8_depth_stencil_row(), because the
format was depth-only, rather than depth-stencil.
Cc: "13.0 12.0" <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94739
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103966
Reviewed-by: Tapani Pälli <[email protected]>
(cherry picked from commit 8705ed13e3114ad994dbd46387576749f54fc7eb)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=47482090ea70158e1f63f524e3ed9010a47e9adb
Author: Kenneth Graunke <[email protected]>
Date: Tue Dec 5 11:09:13 2017 -0800
meta: Initialize depth/clear values on declaration.
This helps avoid compiler warningss in the next commit - everything
was initialized, but it wasn't obvious to static analysis.
Suggested-by: Tapani Pälli <[email protected]>
(cherry picked from commit d6d16c02180929278dc49d3c9bdceece0aab189e)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3b08d534cc3240f3feafb9b0f103a632e7b764b
Author: Gert Wollny <[email protected]>
Date: Wed Dec 6 17:42:02 2017 +0100
r600/sb: do not convert if-blocks that contain indirect array access
If an array is accessed within an if block, then currently it is not known
whether the value in the address register is involved in the evaluation of
the
if condition, and converting the if condition may actually result in
out-of-bounds array access. Consequently, if blocks that contain indirect
array
access should not be converted.
Fixes piglits on r600/BARTS:
spec/glsl-1.10/execution/variable-indexing/
vs-output-array-float-index-wr
vs-output-array-vec3-index-wr
vs-output-array-vec4-index-wr
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104143
Signed-off-by: Gert Wollny <[email protected]>
Cc: <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 6c268ea79af80a65a89a23854bdbe8bc1e99ab23)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=76b54923c01d9b5bd94cbbef8558c61f172956ce
Author: Emil Velikov <[email protected]>
Date: Fri Dec 8 18:24:52 2017 +0000
cherry-ignore: radeonsi: allow DMABUF exports for local buffers
Commit depends on at least 8b3a2578519, which did not land in branch.
Signed-off-by: Emil Velikov <[email protected]>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d0ec672cbff094175bb055bf34acdfeb8a92992
Author: Marek Olšák <[email protected]>
Date: Thu Nov 30 22:46:39 2017 +0100
radeonsi: flush the context after resource_copy_region for buffer exports
Cc: 17.2 17.3 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit 5e805cc74bc52f97de8f6308fc06bc96623e7e09)
[Emil Velikov: s/si_texture_disable_dcc/r600_texture_disable_dcc/]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/gallium/drivers/radeon/r600_texture.c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b50154eff73c32799de5343f4c8569ed562e3ef3
Author: Jason Ekstrand <[email protected]>
Date: Wed Nov 29 16:22:42 2017 -0800
i965: Disable regular fast-clears (CCS_D) on gen9+
This partially reverts commit 3e57e9494c2279580ad6a83ab8c065d01e7e634e
which caused a bunch of GPU hangs on several Source titles. To date, we
have no clue why these hangs are actually happening. This undoes the
final effect of 3e57e9494c227 and gets us back to not hanging. Tested
with Team Fortress 2.
Reviewed-by: Kenneth Graunke <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102435
Fixes: 3e57e9494c2279580ad6a83ab8c065d01e7e634e
Cc: [email protected]
(cherry picked from commit ee57b15ec764736e2d5360beaef9fb2045ed0f68)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a995d6bb78a2bf2881018316cdbf8bb45fa4a18b
Author: Marek Olšák <[email protected]>
Date: Thu Nov 30 02:16:29 2017 +0100
radeonsi/gfx9: fix importing shared textures with DCC
VI has 11 dwords at least. GFX9 has 10 dwords.
Cc: 17.2 17.3 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit ed4780383cae61e051b3d3d120649222da49feae)
[Emil Velikov: s|radeon/r600_texture.c|radeonsi/si_state.c|]
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/gallium/drivers/radeon/r600_texture.c
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e893ae4d9d421347c5c021e93348f884c434076b
Author: Marek Olšák <[email protected]>
Date: Tue Nov 28 20:57:10 2017 +0100
radeonsi: fix layered DCC fast clear
Cc: 17.2 17.3 <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
(cherry picked from commit 6863651bbdd7dcfad60bae78d1e17898f49ca08b)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=de438f1569cd040476ad9a37cc15ad2fa723666d
Author: Dave Airlie <[email protected]>
Date: Sun Nov 26 23:36:39 2017 +0000
r600/sb: handle jump after target to end of program. (v2)
This fixes hangs on cayman with
tests/spec/arb_tessellation_shader/execution/trivial-tess-gs_no-gs-inputs.shader_test
This has a single if/else in it, and when this peephole activated,
it would set the jump target to NULL if there was no instruction
after the final POP. This adds a NOP if we get a jump in this case,
and seems to fix the hangs, so we have a valid target for the ELSE
instruction to go to, instead of 0 (which causes infinite loops).
v2: update last_cf correctly. (I had some other patches hide this)
Cc: <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 579ec9c311eb5176054b624f39c5c024605b58d6)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab5585ff9f0c2a23bd1c43cb71bb1fa3c3874e00
Author: Ben Crocker <[email protected]>
Date: Mon Nov 27 14:44:59 2017 -0500
docs/llvmpipe.html: Minor edits
Language and spelling fixups in three places.
Cc: "17.2" "17.3" <[email protected]>
Signed-off-by: Ben Crocker <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
[Eric: move two fixes from the other patch to this one.]
Signed-off-by: Eric Engestrom <[email protected]>
(cherry picked from commit b43daf7bf6cb505ece025c718ac6f074c38b2d49)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b25baea79d52a9f91db68788c805cc3fab39b17d
Author: Kai Wasserbäch <[email protected]>
Date: Thu Nov 16 12:58:50 2017 +0100
docs: Point to apt.llvm.org for development snapshot packages
Signed-off-by: Kai Wasserbäch <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit d25123e23a77e216b45f8e1a83ac32805b07be82)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4f97100a97bba958aedaf35c38a946f274ed9891
Author: Tapani Pälli <[email protected]>
Date: Mon Nov 20 15:00:19 2017 +0200
mesa/gles: adjust internal format in glTexSubImage2D error checks
When floating point textures are created on OpenGL ES 2.0, driver
is free to choose used internal format. Mesa makes this decision in
adjust_for_oes_float_texture. Error checking for glTexImage2D properly
checks that sized formats are not used. We use same error checking
path for glTexSubImage2D (since there is lot of overlap), however since
those checks include internalFormat checks, we need to pass original
internalFormat passed by the client. Patch adds oes_float_internal_format
that does reverse adjust_for_oes_float_texture to get that format.
Fixes following test failure:
ES2-CTS.gtf.GL2ExtensionTests.texture_float.texture_float
(when running test with MESA_GLES_VERSION_OVERRIDE=2.0)
Signed-off-by: Tapani Pälli <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103227
Cc: "17.3" <[email protected]>
Reviewed-by: Matt Turner <[email protected]>
(cherry picked from commit 1e508e10d9ae649bfe5ab7b1842993be50052b21)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=779a028fbccbd9a31e19b9182615ae2dbc4b1180
Author: Emil Velikov <[email protected]>
Date: Thu Nov 23 18:51:14 2017 +0000
gl_table.py: add extern C guard for the generated glapitable.h
The header can be included from C++, hence contents should have
appropriate notation.
Cc: [email protected]
Cc: Dylan Baker <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit c7616ac06973a80c3c6e9def49a3fa6606ba6097)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2ff8e3e5daa88c677548f59b8f5f9dc286699d5
Author: Gert Wollny <[email protected]>
Date: Fri Nov 17 12:13:40 2017 +0100
r600: Emit EOP for more CF instruction types
So far on pre-cayman chipsets the CF instructions CF_OP_LOOP_END,
CF_OP_CALL_FS, CF_OP_POP, and CF_OP_GDS an extra CF_NOP instruction
was added to add the EOP flag, even though this is not actually
needed, because all these instrutions support the EOP flag.
This patch removes the fixup code, adds setting the EOP flag for the
according instructions as well as others like CF_OP_TEX and CF_OP_VTX,
and adds writing out EOP for this type of instruction in the disassembler.
This also fixes a bug where shaders were created that didn't actually have
the EOP flag set in the last CF instruction, which might have resulted
in GPU lockups.
[airlied: cleaned up a little]
Signed-off-by: Gert Wollny <[email protected]>
Cc: <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
(cherry picked from commit 1d076aafbc05b0af299826ac0ee63b2fb28e944a)
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a8a5a97f4627182f6345f50bcbea4ab51ba80480
Author: Ilia Mirkin <[email protected]>
Date: Sat Oct 21 15:15:41 2017 -0400
glsl: fix derived cs variables
There are two issues with the current implementation. First, it relies
on the layout(local_size_*) happening in the same shader as the main
function, and secondly it doesn't work for variable group sizes.
In both cases, the simplest fix is to move the setup of these derived
values to a later time, similar to how the gl_VertexID workarounds are
done. There already exist system values defined for both of the derived
values, so we use them unconditionally, and lower them after linking is
performed.
While we're at it, we move to using gl_LocalGroupSizeARB instead of
gl_WorkGroupSize for variable group sizes.
Also the dead code elimination avoidance can be removed, since there
can be situations where gl_LocalGroupSizeARB is needed but has not been
inserted for the shader with main function. As a result, the lowering
code has to insert its own copies of the system values if needed.
Reported-by: Stephane Chevigny <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103393
Cc: [email protected]
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 4d24a7cb97641cacecd371d1968f6964785822e4)
Signed-off-by: Emil Velikov <[email protected]>
Conflicts:
src/compiler/glsl/meson.build
_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit