- Dec 01, 2013
-
-
Ian Romanick authored
Signed-off-by:
Ian Romanick <ian.d.romanick@intel.com>
-
Ian Romanick authored
Signed-off-by:
Ian Romanick <ian.d.romanick@intel.com>
-
- Nov 28, 2013
-
-
Kenneth Graunke authored
In brw_update_renderbuffer_surfaces(), if there are no color draw buffers, we always set up a null render target at surface index 0 so we have something to use with the FB write marking the end of thread. However, when we recently began computing surface indexes dynamically, we failed to reserve space for it. This meant that the first texture would be assigned surface index 0, and our closing FB write would clobber the texture. Fixes Piglit's EXT_packed_depth_stencil/fbo-blit-d24s8 test on Gen4-5, which regressed as of commit 4e530645 ("i965/fs: Dynamically set up the WM binding table offsets.") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70605 Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Chris Forbes <chrisf@ijw.co.nz> Tested-by:
lu hua <huax.lu@intel.com> Cc: "10.0" mesa-stable@lists.freedesktop.org (cherry picked from commit c4815f6c)
-
Ian Romanick authored
Signed-off-by:
Ian Romanick <ian.d.romanick@intel.com> Reported-by:
Zhenyu Wang <zhenyuw@linux.intel.com> Reviewed-by:
Matt Turner <mattst88@gmail.com> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Cc: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 73e9aa9e)
-
Ian Romanick authored
This is a squash of the following two cherry-picked patches: i965: Only enable __DRI2_ROBUSTNESS if kernel support is available Rather than always advertising the extension but failing to create a context with reset notifiction, just don't advertise it. I don't know why it didn't occur to me to do it this way in the first place. NOTE: Kristian requested that I provide a follow-up for master that dynamically generates the list of DRI extensions instead of selected between two hardcoded lists. Signed-off-by:
Ian Romanick <ian.d.romanick@intel.com> Suggested-by:
Kristian Høgsberg <krh@bitplanet.net> Reviewed-by:
Matt Turner <mattst88@gmail.com> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Kristian Høgsberg <krh@bitplanet.net> Cc: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 9b1c6863) and i965: Properly reject __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS when __DRI2_ROBUSTNESS is not enabled Only allow __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS in brwCreateContext if intelInitScreen2 also enabled __DRI2_ROBUSTNESS (thereby enabling GLX_ARB_create_context). This fixes a regression in the piglit test "glx/GLX_ARB_create_context/invalid flag" v2: Remove commented debug code. Noticed by Jordan. Signed-off-by:
Ian Romanick <ian.d.romanick@intel.com> Reported-by:
Paul Berry <stereotype441@gmail.com> Reviewed-by:
Jordan Justen <jordan.l.justen@intel.com> Reviewed-by:
Matt Turner <mattst88@gmail.com> Cc: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 53a65e54)
-
Ian Romanick authored
drm_intel_get_reset_stats is only available in libdrm-2.4.48, and libdrm-2.4.49 contains an important bug fix in that function. Signed-off-by:
Ian Romanick <ian.d.romanick@intel.com> Reviewed-by:
Matt Turner <mattst88@gmail.com> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Cc: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit cb728bb0)
-
- Nov 27, 2013
-
-
Francisco Jerez authored
Cc: Ian Romanick <ian.d.romanick@intel.com> Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 6b2b4cc8)
-
Paul Berry authored
In commit 065da165 (glsl: Convert lower_clip_distance_visitor to be an ir_rvalue_visitor), we failed to notice that since lower_clip_distance_visitor overrides visit_leave(ir_assignment *), ir_rvalue_visitor::visit_leave(ir_assignment *) wasn't getting called. As a result, clip distance dereferences appearing directly on the right hand side of an assignment (not in a subexpression) weren't getting properly lowered. This caused an ir_dereference_variable node to be left in the IR that referred to the old gl_ClipDistance variable. However, since the lowering pass replaces gl_ClipDistance with gl_ClipDistanceMESA, this turned into a dangling pointer when the IR got reparented. Prior to the introduction of geometry shaders, this bug was unlikely to arise, because (a) reading from gl_ClipDistance[i] in the fragment shader was rare, and (b) when it happened, it was likely that it would either appear in a subexpression, or be hoisted into a subexpression by tree grafting. However, in a geometry shader, we're likely to see a statement like this, which would trigger the bug: gl_ClipDistance[i] = gl_in[j].gl_ClipDistance[i]; This patch causes lower_clip_distance_visitor::visit_leave(ir_assignment *) to call the base class visitor, so that the right hand side of the assignment is properly lowered. Fixes piglit test: - spec/glsl-1.50/execution/geometry/clip-distance-itemized-copy Cc: Ian Romanick <idr@freedesktop.org> Cc: "9.2" <mesa-stable@lists.freedesktop.org> Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 9dfcb05f)
-
Paul Berry authored
The previous commit fixes a bug wherein we would incorrectly refer to stale geometry shader prog_data when no geometry shader was active. This patch reduces the likelihood of that sort of bug occurring in the future by setting prog_data to NULL whenever there is no GS program. Cc: mesa-stable@lists.freedesktop.org Reviewed-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 37bdde10)
-
Paul Berry authored
Previously, in brw_gs_upload_binding_table(), we checked whether brw->gs.prog_data was NULL in order to determine whether a geometry shader was active. This didn't work: brw->gs.prog_data starts off as NULL, but it is set to non-NULL when a geometry shader program is built, and then never set to NULL again. As a result, if we called brw_gs_upload_binding_table() while there was no geometry shader active, but a geometry shader had previously been active, it would refer to a stale (and possibly freed) prog_data structure. This patch fixes the problem by modifying brw_gs_upload_binding_table() to use the proper technique to determine whether a geometry shader is active: by checking whether brw->geometry_program is NULL. This fixes the crash reported in comment 2 of bug 71870 (the incorrect rendering remains, however). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71870 Cc: mesa-stable@lists.freedesktop.org Reviewed-by:
Chris Forbes <chrisf@ijw.co.nz> Reviewed-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 2714ca81)
-
- Nov 26, 2013
-
-
Tom Stellard authored
We need to do this until function calls are supported. v2: - Fix loop conditional https://bugs.freedesktop.org/show_bug.cgi?id=64225 CC: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit ddc77c50)
-
Kenneth Graunke authored
The fast tiled texture upload code does not compile with GCC 4.8's -Og optimization flag. memcpy() has the always_inline attribute set. This poses a problem, since {x,y}tile_copy_faster calls it indirectly via {x,y}tile_copy, and {x,y}tile_copy normally aren't inlined at -Og. Using __attribute__((flatten)) tells GCC to inline every function call inside the function, which I believe was the author's intent. Fix suggested by Alexander Monakov. Signed-off-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Matt Turner <mattst88@gmail.com> Reviewed-by:
Chad Versace <chad.versace@linux.intel.com> Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit ad542a10)
-
Maarten Lankhorst authored
They should not be exposed. Cc: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 5455c818)
-
- Nov 24, 2013
-
-
Ian Romanick authored
Signed-off-by:
Ian Romanick <ian.d.romanick@intel.com>
-
Ian Romanick authored
Signed-off-by:
Ian Romanick <ian.d.romanick@intel.com>
-
- Nov 23, 2013
-
-
Emma Anholt authored
I think I was thinking of the batch command packet cache when I pasted this in, but this counter is only used for dumping out streamed state for INTEL_DEBUG=batch and for putting annotations in our aub files. Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 5891f981)
-
Paul Berry authored
From section 6.1.18 (Renderbuffer Object Queries) of the GL 3.2 spec, under the heading "If the value of FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE is TEXTURE, then": If pname is FRAMEBUFFER_ATTACHMENT_LAYERED, then params will contain TRUE if an entire level of a three-dimesional texture, cube map texture, or one-or two-dimensional array texture is attached. Otherwise, params will contain FALSE. Fixes piglit tests: - spec/!OpenGL 3.2/layered-rendering/framebuffer-layered-attachments - spec/!OpenGL 3.2/layered-rendering/framebuffertexture-defaults Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Chris Forbes <chrisf@ijw.co.nz> v2: Don't include "EXT" in the error message, since this query only makes sensen in context versions that have adopted glGetFramebufferAttachmentParameteriv(). Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit ec79c05c)
-
Paul Berry authored
Previously we were using the code path for validating glFramebufferTextureLayer(). But glFramebufferTexture() allows additional texture types. Fixes piglit tests: - spec/!OpenGL 3.2/layered-rendering/gl-layer-cube-map - spec/!OpenGL 3.2/layered-rendering/framebuffertexture Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Jordan Justen <jordan.l.justen@intel.com> Reviewed-by:
Chris Forbes <chrisf@ijw.co.nz> v2: Clarify comment above framebuffer_texture(). Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit af1471dc)
-
Paul Berry authored
From section 4.4.7 (Layered Framebuffers) of the GLSL 3.2 spec: When the Clear or ClearBuffer* commands are used to clear a layered framebuffer attachment, all layers of the attachment are cleared. This patch fixes the fast depth clear path. Fixes piglit test "spec/!OpenGL 3.2/layered-rendering/clear-depth". Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Jordan Justen <jordan.l.justen@intel.com> (cherry picked from commit 08315233)
-
Paul Berry authored
From section 4.4.7 (Layered Framebuffers) of the GLSL 3.2 spec: When the Clear or ClearBuffer* commands are used to clear a layered framebuffer attachment, all layers of the attachment are cleared. This patch fixes the blorp clear path for color buffers. Fixes piglit test "spec/!OpenGL 3.2/layered-rendering/clear-color". Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Jordan Justen <jordan.l.justen@intel.com> (cherry picked from commit c1019670)
-
Paul Berry authored
Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Jordan Justen <jordan.l.justen@intel.com> (cherry picked from commit 1ec53654)
-
Paul Berry authored
In order to properly clear layered framebuffers, we need to know how many layers they have. The easiest way to do this is to record it in the gl_framebuffer struct when we check framebuffer completeness. This patch replaces the gl_framebuffer::Layered boolean with a gl_framebuffer::NumLayers integer, which is 0 if the framebuffer is not layered, and equal to the number of layers otherwise. v2: Remove gl_framebuffer::Layered and make gl_framebuffer::NumLayers always have a defined value. Fix factor of 6 error in the number of layers in a cube map array. Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Chris Forbes <chrisf@ijw.co.nz> Reviewed-by:
Jordan Justen <jordan.l.justen@intel.com> Reviewed-by:
Eric Anholt <eric@anholt.net> (cherry picked from commit 95140740)
-
Tom Stellard authored
We need to include the number of LDS bytes allocated by the state tracker. CC: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 1bdb9933)
-
Tom Stellard authored
Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> https://bugs.freedesktop.org/show_bug.cgi?id=69321 CC: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 7a30cd70)
-
Paul Berry authored
Previously, we checked for interstage uniform interface block link errors in validate_interstage_interface_blocks(), which is only called on pairs of adjacent shader stages. Therefore, we failed to detect uniform interface block mismatches between non-adjacent shader stages. Before the introduction of geometry shaders, this wasn't a problem, because the only supported shader stages were vertex and fragment shaders, therefore they were always adjacent. However, now that we allow a program to contain vertex, geometry, and fragment shaders, that is no longer the case. Fixes piglit test "skip-stage-uniform-block-array-size-mismatch". Cc: "10.0" <mesa-stable@lists.freedesktop.org> v2: Rename validate_interstage_interface_blocks() to validate_interstage_inout_blocks() to reflect the fact that it no longer validates uniform blocks. Reviewed-by:
Jordan Justen <jordan.l.justen@intel.com> v3: Make validate_interstage_inout_blocks() skip uniform blocks. Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 544e3129)
-
Paul Berry authored
Previously, when attempting to link a vertex shader and a geometry shader that use different GLSL versions, we would sometimes generate a link error due to the implicit declaration of gl_PerVertex being different between the two GLSL versions. This patch fixes that problem by only requiring interface block definitions to match when they are explicitly declared. Fixes piglit test "shaders/version-mixing vs-gs". Cc: "10.0" <mesa-stable@lists.freedesktop.org> v2: In the interface_block_definition constructor, move the assignment to explicitly_declared after the existing if block. Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 0f4cacbb)
-
Paul Berry authored
From section 7.1 (Built-In Language Variables) of the GLSL 4.10 spec: Also, if a built-in interface block is redeclared, no member of the built-in declaration can be redeclared outside the block redeclaration. We have been regarding this text as a clarification to the behaviour established for gl_PerVertex by GLSL 1.50, so we apply it regardless of GLSL version. This patch enforces the rule by adding an enum to ir_variable to track how the variable was declared: implicitly, normally, or in an interface block. Fixes piglit tests: - gs-redeclares-pervertex-out-after-global-redeclaration.geom - vs-redeclares-pervertex-out-after-global-redeclaration.vert - gs-redeclares-pervertex-out-after-other-global-redeclaration.geom - vs-redeclares-pervertex-out-after-other-global-redeclaration.vert - gs-redeclares-pervertex-out-before-global-redeclaration - vs-redeclares-pervertex-out-before-global-redeclaration Cc: "10.0" <mesa-stable@lists.freedesktop.org> v2: Don't set "how_declared" redundantly in builtin_variables.cpp. Properly clone "how_declared". Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 2bbcf19a)
-
Tapani Pälli authored
Earlier comments suggest this was removed from GL core spec but it is still there. Enabling makes 'texture_lod_bias_getter' Khronos conformance tests pass, also removes some errors from Metro Last Light game which is using this API. v2: leave NOTE comment (Ian) Cc: "9.0 9.1 9.2 10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org> Reviewed-by:
Ian Romanick <ian.d.romanick@intel.com> Signed-off-by:
Tapani Pälli <tapani.palli@intel.com> (cherry picked from commit 7e61b44d)
-
Dave Airlie authored
GLX 1.2 servers with no SGIX_fbconfigs exist (some citrix thing), and we fail glxinfo completely in those cases. CC: <mesa-stable@lists.freedesktop.org> Reviewed-by:
Adam Jackson <ajax@redhat.com> Reviewed-by:
Brian Paul <brianp@vmware.com> Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit b01a3a9b)
-
Dave Airlie authored
I've no idea when this broke, but we have some people who wanted it fixed, so here's my attempt. reproducer, run readpix with swrast hit f, or run trival tri -sb things are upside down, after this patch they aren't. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=62142 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66213 Cc: <mesa-stable@lists.freedesktop.org>" Signed-off-by:
Dave Airlie <airlied@redhat.com> (cherry picked from commit a43b49df)
-
Matt Turner authored
DLOPEN_LIBS is part of DRI_LIB_DEPS. Cc: "10.0" <mesa-stable@lists.freedesktop.org>" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71512 Reviewed-by:
Eric Anholt <eric@anholt.net> (cherry picked from commit 1f909295)
-
Brian Paul authored
We need to check the drawbuffer's orientation before inverting Y coordinates. Fixes piglit feedback tests when running with the -fbo option. Cc: "9.2" "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> (cherry picked from commit 15d8e05e)
-
Paul Berry authored
Commit 70953b5f (i965: Initialize all member variables of vec4_instruction on construction) inadvertently added a line to the vec4_instruction constructor setting this->ir to NULL, wiping out the previously set value. As a result, ever since then, the output of INTEL_DEBUG=vs and INTEL_DEBUG=gs has been missing IR annotations. Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Eric Anholt <eric@anholt.net> (cherry picked from commit 60b1a118)
-
Tom Stellard authored
Global buffers do not have an associate cs_buf handle, so we can't copy them using r600_copy_buffer() https://bugs.freedesktop.org/show_bug.cgi?id=64226 Reviewed-by:
Marek Ol????k <marek.olsak@amd.com> CC: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 1b9511d7)
-
Tom Stellard authored
This fixes build failures with the gold linker. CC: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 17930a66)
-
Tom Stellard authored
The spec allows clGetProgramInfo() to return information about either the devices associated with the program or the devices associated with the context. If there are no devices associated with the program, then we return devices associated with the context. https://bugs.freedesktop.org/show_bug.cgi?id=52171 Reviewed-by:
Francisco Jerez <currojerez@riseup.net> CC: "10.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit a84dd239)
-
Paul Berry authored
v2: Don't go to extra work to avoid extraneous flushes. (Previous experiments in the kernel have suggested that flushing the pipeline when it is already empty is extremely cheap). Cc: "10.0" <mesa-stable@lists.freedesktop.org> Reviewed-by:
Eric Anholt <eric@anholt.net> (cherry picked from commit 7dfb4b2d)
-
Emil Velikov authored
Cc: "10.0" <mesa-stable@lists.freedesktop.org> Acked-by:
Chris Forbes <chrisf@ijw.co.nz> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Signed-off-by:
Emil Velikov <emil.l.velikov@gmail.com> (cherry picked from commit d33d260b)
-
Emil Velikov authored
The X.Org state tracker is gone, as well as the xvmc/vdpau r300 and softpipe targets. Cc: "10.0" <mesa-stable@lists.freedesktop.org> Acked-by:
Chris Forbes <chrisf@ijw.co.nz> Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Signed-off-by:
Emil Velikov <emil.l.velikov@gmail.com> (cherry picked from commit ca979465)
-
Vadim Girlin authored
v2: make it actually work, improve condition Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68503 Cc: "10.0" <mesa-stable@lists.freedesktop.org> Signed-off-by:
Vadim Girlin <vadimgirlin@gmail.com> (cherry picked from commit 4cb04aa0)
-