- Apr 17, 2016
-
-
Emil Velikov authored
Signed-off-by:
Emil Velikov <emil.velikov@collabora.com>
-
Emil Velikov authored
Signed-off-by:
Emil Velikov <emil.velikov@collabora.com>
-
- Apr 16, 2016
-
-
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94050 (cherry picked from commit c300559f) Fixes: 9f2e22bf "i965/vec4: don't copy ATTR into 3src instructions with complex swizzles" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94954 Nominated-by:
Emil Velikov <emil.velikov@collabora.com>
-
- Apr 15, 2016
-
-
Emil Velikov authored
Missed out with earlier commit while resolving conflicts. Fixes: a785cccc "nvc0/ir: fix picking of coordinates from tex instruction for textureGrad" Reported-by:
Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by:
Emil Velikov <emil.velikov@collabora.com>
-
- Apr 14, 2016
-
-
Reviewed-by:
Jose Fonseca <jfonseca@vmware.com> (cherry picked from commit a5256012) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94195
-
This fixes piglit tests like tests/spec/glsl-1.10/execution/variable-indexing/vs-output-array-float-index-wr.shader_test and related ones. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 3610b146)
-
Currently mesa fails building with the x32 abi as ms_abi is not defined in such a case. The patch uses ms_abi only for amd64 targets and stdcall only for i386 targets to be sure that those are defined. This patch additionally checks for __GNUC__ to guarantee that __attribute__ is available. CC: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Christian Schmidbauer <ch.schmidbauer@gmail.com> Acked-by:
Axel Davy <axel.davy@ens.fr> (cherry picked from commit 2a529a8a)
-
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@lists.freedesktop.org> Signed-off-by:
Rob Herring <robh@kernel.org> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 2d9e0f24)
-
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@lists.freedesktop.org> Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Tested-by:
Karol Herbst <nouveau@karolherbst.de> (cherry picked from commit 41100b6b)
-
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@alum.mit.edu> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit f667d155) [Emil Velikov: resolve trivial conflicts] Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Conflicts: src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp
-
Cc: mesa-stable@lists.freedesktop.org Signed-off-by:
Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 4ba47f7b)
-
Previously it was doing this transformation for a Trine 3 shader: MUL R6.x.12, R13.x.23, 0.5|3f000000 - MULADD R4.x.12, -R6.x.12, 2|40000000, 1|3f800000 + MULADD R4.x.12, -R13.x.23, -1|bf800000, 1|3f800000 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94412 Signed-off-by:
Xavier Bouchoux <xavierb@gmail.com> Cc: "11.0 11.1 11.2" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Glenn Kennard <glenn.kennard@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit fce0b55c)
-
Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Ilia Mirkin <imirkin@alum.mit.edu> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 9efd8b59)
-
Aside from the bug below, it fixes a simplistic test I've written locally, and I see no regression in Piglit for radeonsi. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94595 Cc: "11.0 11.1 11.2" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> (cherry picked from commit a8b315b8)
-
Attach the timestamp to the dpb buffer and use that timestamp while pushing buffer from dpb list to the omx client. Reviewed-by:
Christian König <christian.koenig@amd.com> Signed-off-by:
Nishanth Peethambaran <nishanth.peethambaran@amd.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit eeb117a0)
-
Reviewed-by:
Christian König <christian.koenig@amd.com> Signed-off-by:
Nishanth Peethambaran <nishanth.peethambaran@amd.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 46de6bbb)
-
If a layer parameter is provided, we want to flip it to position 0 (and combine it with any indirect params). However if the target is not an array, there is no layer, so we have to shift all of the arguments down by one to make room for it. This fixes situations where there were non-coordinate parameters, such as bias, lod, depth compare, explicit derivatives. Instead of adding a new parameter at the front for the indirect reference, we would swap one of those in its place. Fixes dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute.*shadow Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reported-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Tested-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 7d98bfed)
-
We make sure that that image depth matches the level's depth before copying it into place. However we should only be minifying the first level's depth for 3d textures - array textures have the same depth for all levels. This fixes tests such as dEQP-GLES3.functional.texture.specification.texsubimage3d_depth.* and I suspect account for a number of other odd situations I've run into where level > 0 of array textures was messed up. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Dave Airlie <airlied@redhat.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit adb40a73)
-
This matters especially in vertex shaders, where derivatives are disabled by default. This fixes textureGrad in vertex shaders on nv50. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit d2445b00)
-
This fix is analogous to commit ff085d01. This fixes some use-after-free situations in dEQP when an xfb state is removed, and then a clear is triggered, which only does a partial validation. It would attempt to read the no-longer-valid buffers, resulting in crashes. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit d1b85dbf) [Emil Velikov: macro names do not need 3D_ ] Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Conflicts: src/gallium/drivers/nouveau/nv50/nv50_shader_state.c src/gallium/drivers/nouveau/nv50/nv50_state.c
-
Patch provides a default for a set pbuffer surface size when EGL_LARGEST_PBUFFER is used by the client. MIN2 macro is moved to egldefines so that it can be shared. Fixes following Piglit test: egl-create-largest-pbuffer-surface From EGL 1.5 spec: "Use EGL_LARGEST_PBUFFER to get the largest available pbuffer when the allocation of the pbuffer would otherwise fail." Currently there exists no API to query largest available pixmap size using xlib or xcb so right now this seems most straightforward way to ensure that we fulfill above API and also we don't attempt to allocate 'too big' pixmap which might succeed on server side but not work in practice when driver starts to use it as a texture. v2: add more explanation about the change (Emil) Signed-off-by:
Matt Roper <matthew.d.roper@intel.com> Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org Reviewed-by:
Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit d4714512)
-
Cc: 11.1 11.2 <mesa-stable@lists.freedesktop.org> Reviewed-by:
Nicolai Hähnle <nicolai.haehnle@amd.com> (cherry picked from commit 4ab2ac33)
-
- Apr 11, 2016
-
-
The logic was comparing actual ints, not true/false values. This meant that it was emitting always multiple line segments instead of just one even if the stipple test had the same result, which looks inefficient, and the segments also overlapped thus breaking line aa as well. (In practice, with the no-op default line stipple pattern, for a 10-pixel long line from 0-9 it was emitting 10 segments, with the individual segments ranging from 0-1, 0-2, 0-3 and so on.) This fixes https://bugs.freedesktop.org/show_bug.cgi?id=94193 Reviewed-by:
Jose Fonseca <jfonseca@vmware.com> CC: <mesa-stable@lists.freedesktop.org> (cherry picked from commit 12a4f0be)
-
The filt_args->offset wasn't assigned but was always used later leading to a crash (as far as I can tell, texel offsets don't actually make much sense with anisotropic filtering, but because there's no explicit setting if offsets are enabled there the array is always accessed). This fixes https://bugs.freedesktop.org/show_bug.cgi?id=94481 Reviewed-by:
Eduardo Lima Mitev <elima@igalia.com> CC: <mesa-stable@lists.freedesktop.org> (cherry picked from commit 9e9d6997)
-
Bug found by the liveness analysis validation pass that will be introduced in a later commit. The no-op MOV check in opt_register_coalesce() was removing instructions which makes the cached liveness analysis calculation inconsistent with the shader IR. We were failing to set progress to true in that case though, which means that invalidate_live_intervals() wouldn't necessarily be called at the end of the function. Cc: mesa-stable@lists.freedesktop.org Reviewed-by:
Matt Turner <mattst88@gmail.com> (cherry picked from commit 7d7990cf)
-
Bug found by the liveness analysis validation pass that will be introduced in a later commit. fixup_3src_null_dest() was allocating registers which makes the cached liveness analysis calculation incomplete, so it must be invalidated. Cc: mesa-stable@lists.freedesktop.org Reviewed-by:
Matt Turner <mattst88@gmail.com> (cherry picked from commit 93be4158)
-
Bug found by the liveness analysis validation pass that will be introduced in a later commit. opt_sampler_eot() was allocating registers and inserting and removing instructions, which makes the cached liveness analysis calculation inconsistent with the shader IR, so it must be invalidated. Cc: mesa-stable@lists.freedesktop.org Reviewed-by:
Matt Turner <mattst88@gmail.com> (cherry picked from commit 6691c03f)
-
The idea is that a single triangle will cover the whole area being drawn, allowing the blit shader to do its work. However the max fb size is 16384x16384, which means that the triangle we draw needs to be twice that in order to cover the whole area fully. Increase the size of the triangle to 32768x32768. This fixes a number of dEQP tests that were failing because a blit was involved which would miss some of the resulting texture. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit a651bc02)
-
Found by inspection of the source based on a bisected bug report. This bug has been in the code for a long time, but the more recent PBO upload feature exposed it because it leads to more uses of buffer textures. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94388 Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Cc: "11.0 11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit e502801d)
-
Emil Velikov authored
... before using it. The function can return NULL, which we should check prior to refererencing it in the next function(s). Cc: Fabian Vogt <fvogt@suse.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93667 Signed-off-by:
Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by:
Eduardo Lima Mitev <elima@igalia.com> (cherry picked from commit b9c5c4af)
-
With this issue 'mpv --hwdec=vdpau --vo=vdpau <stream>' fails for vdpau decode if the stream height is 4096. Vdpau decode of height upto 4096 is necessary usecase on amdgpu driver for VI and newer platforms. The fix is in driver specific implementation of "Decoder Query Capabilities" API to return 4096 for VI and newer platforms. With this fix vdpauinfo reports height support as 4096 and mpv for vdpau decode works fine for 4096 height streams. Signed-off-by:
Tamil velan <Tamil-Velan.Jayakumar@amd.com> Reviewed-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 353a4f84)
-
Cc: 11.1 11.2 <mesa-stable@lists.freedesktop.org> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> (cherry picked from commit 3146014d)
-
The hardware simply doesn't support that correctly. Signed-off-by:
Christian König <christian.koenig@amd.com> Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit e148a3b6)
-
This fixes a crash in dEQP-GLES3.functional.transform_feedback.array_element.separate.points.lowp_mat3x2 and likely others. The vertex shader has > 16 input variables (without explicit locations), which causes us to index outside of the to_assign array. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Timothy Arceri <timothy.arceri@collabora.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit f6827e20)
-
This fixes some use-after-free situations in dEQP when an xfb state is removed, and then a clear is triggered, which only does a partial validation. It would attempt to read the no-longer-valid buffers, resulting in crashes. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit ff085d01) [Emil Velikov: macro names do not need 3D_ ] Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Conflicts: src/gallium/drivers/nouveau/nvc0/nvc0_shader_state.c src/gallium/drivers/nouveau/nvc0/nvc0_state.c
-
When BaseLevel > 0, we magnify the dimensions to fill out the size of miplevels [0..BaseLevel). In particular, this was magnifying depth, thinking that the depth doubles at each level. This is perfectly reasonable for 3D textures, but dead wrong for array textures. Changing the depth != 1 condition to a target == GL_TEXTURE_3D check should make this only happen in the appropriate cases. Fixes about 32 dEQP tests: - dEQP-GLES31.functional.texture.gather.*.level_{1,2} Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Matt Turner <mattst88@gmail.com> Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit 4ba7ad6c)
-
If running with a software renderer backend, the timeout may be insufficient, and we don't want to release busy buffers too early. In practice, SVGA gpu lockups are extremely rare. Signed-off-by:
Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by:
Brian Paul <brianp@vmware.com> Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 395c7b8f)
-
Reported-by:
Brian Paul <brianp@vmware.com> Signed-off-by:
Thomas Hellstrom <thellstrom@vmware.com> Reviwed-by:
Brian Paul <brianp@vmware.com> Cc: "11.0 11.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 24ad7e16)
-
From section 6.2 ("State Tables") of the GL 2.1 specification (the text also appears in the GL 3.0 and ES 3.1 specifications): "However, state variables for which IsEnabled is listed as the query command can also be obtained using GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev." GL_DEBUG_OUTPUT, GL_DEBUG_OUTPUT_SYNCHRONOUS, and GL_FRAGMENT_SHADER_ATI were missing from the glGet*() functions. All other IsEnabled() pnames look to be present, as far as I can tell. Fixes 8 dEQP-GLES31.functional.debug.state_query subtests: debug_output[_synchronous]_get{boolean,float,integer,integer64}. Cc: mesa-stable@lists.freedesktop.org Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit aa37cbdf)
-
dEQP-GLES31.functional.debug.state_query.debug_group_stack_depth_* tries to call glGet on GL_DEBUG_GROUP_STACK_DEPTH right away, before doing any other debug setup. This should return 1. However, because ctx->Debug wasn't allocated, we bailed and returned 0. This patch removes the open-coded locking and switches the two glGet functions to use _mesa_lock_debug_state(), which takes care of allocating and initializing that state on the first time. It also conveniently takes care of unlocking on failure for us, so we don't need to handle that in every caller. Fixes dEQP-GLES31.functional.debug.state_query.debug_group_stack_depth_ {getboolean,getfloat,getinteger,getinteger64}. Cc: mesa-stable@lists.freedesktop.org Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Timothy Arceri <timothy.arceri@collabora.com> Reviewed-by:
Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit b4b50b07) [Emil Velikov: the path has changed s|debug_output|errors|] Signed-off-by:
Emil Velikov <emil.velikov@collabora.com> Conflicts: src/mesa/main/debug_output.c
-