summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Increment version to 10.5.0-rc3mesa-10.5.0-rc3Emil Velikov2015-02-281-1/+1
| | | | Signed-off-by: Emil Velikov <[email protected]>
* auxilary/os: correct sysctl use in os_get_total_physical_memory()Jonathan Gray2015-02-271-2/+2
| | | | | | | | | | | | | | The length argument passed to sysctl was the size of the pointer not the type. The result of this is sysctl calls would fail on 32 bit BSD/Mac OS X. Additionally the wrong pointer was passed as an argument to store the result of the sysctl call. Cc: "10.4, 10.5" <[email protected]> Signed-off-by: Jonathan Gray <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit 7983a3d2e06b0bc16c1a16bddccc7f14fe1f132c)
* r600g/sb: treat undefined values like constantsDave Airlie2015-02-271-2/+2
| | | | | | | | | | | | | When we schedule an instructions with undefined value, we eventually will use 0, which is a constant, however sb wasn't taking this into account and creating ops with illegal scalar swizzles. this replaces my fix for op3 in t slots. Reviewed-by: Glenn Kennard <[email protected]> Signed-off-by: Dave Airlie <[email protected]> (cherry picked from commit e8e4437ed0660b3f1d1912f53d997cf5e25f486d)
* i965/skl: Implement WaDisable1DDepthStencilNeil Roberts2015-02-271-0/+12
| | | | | | | | | | | | | Skylake+ doesn't support setting a depth buffer to a 1D surface but it does allow pretending it's a 2D texture with a height of 1 instead. This fixes the GL_DEPTH_COMPONENT_* tests of the copyteximage piglit test (and also seems to avoid a subsequent GPU hang). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89037 Reviewed-by: Kenneth Graunke <[email protected]> (cherry picked from commit 5b29b2922afe2b8167a589fc2896a071fc85b693) Nominated-by: Ian Romanick <[email protected]>
* pipe-loader: Fix build with dri drivers enabled, and vl state trackers disabledTom Stellard2015-02-271-1/+5
| | | | | | | | | | | | | | | | | | Configure arguments: ./configure --disable-dri3 --disable-xvmc --enable-opencl --with-gallium-drivers=r300,r600,radeonsi --with-egl-platforms=drm Build error: make[3]: *** No rule to make target `../../../../src/gallium/auxiliary/libgalliumvlwinsys.la', needed by `pipe_r300.la'. Stop. Cc: "10.5" <[email protected]> Reviewed-by: Emil Velikov <[email protected]> (cherry picked from commit ed07255149d7cffac07615e946289b3d683faa4b)
* glsl: Rewrite and fix min/max to saturate optimization.Matt Turner2015-02-271-29/+46
| | | | | | | | | | | | | | | | | | | | | | | There were some bugs, and the code was really difficult to follow. We would optimize min(max(x, b), 1.0) into max(sat(x), b) but not pay attention to the order of min/max and also do max(min(x, b), 1.0) into max(sat(x), b) Corrects four shaders from Champions of Regnum that do min(max(x, 1), 10) and corrects rendering of Mass Effect under VMware Workstation. Cc: "10.4 10.5" <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89180 Reviewed-by: Abdiel Janulgue <[email protected]> Reviewed-by: Ian Romanick <[email protected]> (cherry picked from commit cb25087c7bd5f1ad2515647278b32d3f07803f77)
* glx: Fix returned values of GLX_RENDERER_PREFERRED_PROFILE_MESAAndreas Boll2015-02-271-6/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the renderer supports the core profile the query returned incorrectly 0x8 as value, because it was using (1U << __DRI_API_OPENGL_CORE) for the returned value. The same happened with the compatibility profile. It returned 0x1 (1U << __DRI_API_OPENGL) instead of 0x2. Internal DRI defines: dri_interface.h: #define __DRI_API_OPENGL 0 dri_interface.h: #define __DRI_API_OPENGL_CORE 3 Those two bits are supposed for internal usage only and should be translated to GLX_CONTEXT_CORE_PROFILE_BIT_ARB (0x1) for a preferred core context profile and GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB (0x2) for a preferred compatibility context profile. This patch implements the above translation in the glx module. v2: Fix the incorrect behavior in the glx module Cc: "10.3 10.4 10.5" <[email protected]> Signed-off-by: Andreas Boll <[email protected]> Reviewed-by: Ian Romanick <[email protected]> (cherry picked from commit 6d164f65c5a794164d07bc66c1f8f87280514e8c)
* common: Fix PBOs for 1D_ARRAY.Laura Ekstrand2015-02-271-26/+36
| | | | | | | | | | | | Corrects the way that _mesa_meta_pbo_TexSubImage and _mesa_meta_pbo_GetTexSubImage handle 1D_ARRAY textures. Fixes a failure in the Piglit arb_direct_state_access/gettextureimage-targets test. Reviewed-by: Jason Ekstrand <[email protected]> Tested-by: Laura Ekstrand <[email protected]> Cc: "10.4, 10.5" <[email protected]> (cherry picked from commit 546aba143d13ba3f993ead4cc30b2404abfc0202)
* common: Correct PBO 2D_ARRAY handling.Laura Ekstrand2015-02-271-9/+17
| | | | | | | | | | | | | | | | | | | | Changes PBO uploads and downloads to use a tall (height * depth) 2D texture for blitting. This fixes the bug where 2D_ARRAY, 3D, and CUBE_MAP_ARRAY textures are not properly uploaded and downloaded. Removes the option to use a 2D ARRAY texture for the PBO during upload and download. This option didn't work because the miptree couldn't be set up reliably. v2: Review from Jason Ekstrand and Neil Roberts: -Delete the depth parameter from create_texture_for_pbo -Abandon the option to create a 2D ARRAY texture in create_texture_for_pbo Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Cc: "10.4, 10.5" <[email protected]> (cherry picked from commit ccc5ce6f72c1ec86be4dfcef96c0b51fba0faa6d)
* common: Correct texture init for meta pbo uploads and downloads.Laura Ekstrand2015-02-271-1/+4
| | | | | | | | | | | | | | | | | | This moves the line setting immutability for the texture to after _mesa_initialize_texture_object so that the initializer function will not cancel it out. Moreover, because of the ARB_texture_view extension, immutable textures must have NumLayers > 0, or depth will equal (0-1)=0xFFFFFFFF during SURFACE_STATE setup, which triggers assertions. v2: Review from Kenneth Graunke: - Include more explanation in the commit message. - Make texture setup bug fixes into a separate patch. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Cc: "10.4, 10.5" <[email protected]> (cherry picked from commit 06084652fefe49c3d6bf1b476ff74ff602fdc22a)
* st/omx/dec/h264: fix picture out-of-order with poc type 0 v2Leo Liu2015-02-271-0/+5
| | | | | | | | | | | | | poc counter should be reset with IDR frame, otherwise there would be a re-order issue with frames before and after IDR v2: add commit message Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]> Cc: "10.4 10.5" <[email protected]> (cherry picked from commit 9c7b343bc0a6aa6065055cbc1c0a891ccc445984)
* Increment version to 10.5.0-rc2mesa-10.5.0-rc2Emil Velikov2015-02-241-1/+1
| | | | Signed-off-by: Emil Velikov <[email protected]>
* install-lib-links: remove the .install-lib-links fileEmil Velikov2015-02-241-0/+1
| | | | | | | | | | | | | | With earlier commit (install-lib-links: don't depend on .libs directory) we moved the location of the file from .libs/ to the current dir. Although we did not attribute that in the former case autotools was doing us a favour and removing the file. Explicitly remove the file at clean-local time, otherwise we'll end up with dangling files. Cc: "10.3 10.4 10.5" <[email protected]> Cc: Matt Turner <[email protected]> Cc: Lucas Stach <[email protected]> Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit fece147be53880ac8e8e5e2863f91cdd01d98b5c)
* mesa: Fix error validating args for TexSubImage3DEduardo Lima Mitev2015-02-241-2/+2
| | | | | | | | | | | | | | The zoffset and depth values were not being considered when calling error_check_subtexture_dimensions(). Fixes 2 dEQP tests: * dEQP-GLES3.functional.negative_api.texture.texsubimage3d_neg_offset * dEQP-GLES3.functional.negative_api.texture.texsubimage3d_invalid_offset Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Cc: "10.4 10.5" <[email protected]> (cherry picked from commit 2aa71e9485a5a062b1bd2dd8bdc081a8fa4c873d)
* egl, wayland: RGB565 format support on Back-bufferVivek Kasireddy2015-02-241-3/+38
| | | | | | | | | | | | | | | | | | | | | | | In current code, color format is always hardcoded to __DRI_IMAGE_FORMAT_ARGB8888 when buffer or DRI image is allocated in function calls, get_back_bo and dri2_get_buffers, regardless of current target's color format. This problem may leads to incorrect render pitch calculation, which eventually ends up with wrong offset of pixels in the frame buffer when the image is in different color format from dri surf's, especially with different bpp. (e.g. RGB565-16bpp) Attached code patch simply adds RGB565 and XRGB8888 cases to two functions noted above to resolve the issue. v2: added a case of XRGB8888, format and bpp selection is done via switch-case (not "if-else" anymore) Signed-off-by: Vivek Kasireddy <[email protected]> Signed-off-by: Dongwon Kim <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Cc: "10.5" <[email protected]> (cherry picked from commit 1e96eece300bbd2dd621a4941a4418222bb4c8e5)
* i965: Link test programs with gtest before pthreads.Matt Turner2015-02-241-10/+10
| | | | | | Cc: "10.5" <[email protected]> Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=540962 (cherry picked from commit 0b6d43e329d194b01ab5cd554617f79a13f6669a)
* radeonsi: fix point spritesMarek Olšák2015-02-241-1/+1
| | | | | | | | | | | | | | | | Broken by a27b74819ad375e8c0bc88e13f42c951d2b5cd6a. This fix is critical and should be ported to stable ASAP. Cc: 10.5 10.4 <[email protected]> (cherry picked from commit 7820a11e3dea2aca8e2b9b4ed9faf94ff5696990) Squashed with commit radeonsi: fix a warning caused by previous commit Cc: 10.5 10.4 <[email protected]> (cherry picked from commit 050bf75c8bbaa7cad537aabaf8612129edfee3a4)
* vbo: fix an unitialized-variable warningMarek Olšák2015-02-241-0/+1
| | | | | | | | It looks like a bug to me. Cc: 10.5 10.4 10.3 <[email protected]> Reviewed-by: Brian Paul <[email protected]> (cherry picked from commit 0feb0b73731cebd1513dd7f4e6cdf6de81edb802)
* radeonsi: don't use SQC_CACHES to flush ICACHE and KCACHE on SIMarek Olšák2015-02-241-18/+11
| | | | | | | | | | | | | | | | This reverts 73c2b0d18c51459697d8ec194ecfc4438c98c139. It doesn't seem to be reliable. It's probably missing a wait packet or something, because it's just a register write and doesn't wait for anything. SURFACE_SYNC at least seems to wait until the flush is done. Just guessing. Let's not complicate things and revert this. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88561 Cc: 10.5 <[email protected]> Reviewed-by: Alex Deucher <[email protected]> (cherry picked from commit 7692704b144b2aa9a57767a43212ceb5aad6638a)
* i965/vec4: Add and use byte-MOV instruction for unpack 4x8.Matt Turner2015-02-244-2/+21
| | | | | | | | | | Previously we were using a B/UB source in an Align16 instruction, which is illegal. It for some reason works on all platforms, except Broadwell. Cc: "10.5" <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86811 Reviewed-by: Ian Romanick <[email protected]> (cherry picked from commit e0137fd6f720e4977466b1760ac02a72c5abceb8)
* i965/fs: Consider MOV.SAT to interfere if it has a source modifier.Matt Turner2015-02-242-4/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The saturate propagation pass recognizes that the second instruction below does not interfere with an attempt to propagate the saturate modifier from instruction 3 to 1. 1: add(8) dst0 src0 src1 2: mov.sat(8) dst1 dst0 3: mov.sat(8) dst2 dst0 Unfortunately, we did not consider the case of instruction 2 having a source modifier on dst0. Take for instance: 1: add(8) dst0 src0 src1 2: mov.sat(8) dst1 -dst0 3: mov.sat(8) dst2 dst0 Consider such an instruction to interfere. Increase instruction counts in Anomaly 2, which could be a bug fix depending on the values the first instruction produces. instructions in affected programs: 53228 -> 53934 (1.33%) HURT: 360 Cc: <[email protected]> Reviewed-by: Ian Romanick <[email protected]> (cherry picked from commit 7f8dd91d166e49d7da98f90d6428dc2705fb96d0)
* i965/fs: Use fs_inst::overwrites_reg() in saturate propagation.Matt Turner2015-02-242-4/+44
| | | | | | | | This is safer and matches the conditional_mod propagation pass. Cc: <[email protected]> Reviewed-by: Ian Romanick <[email protected]> (cherry picked from commit 871ad3f08bc34e16fdd728e9a4821b9a83e509f0)
* i965/fs: Add unit tests for saturate propagation pass.Matt Turner2015-02-242-0/+362
| | | | | | Cc: <[email protected]> Reviewed-by: Ian Romanick <[email protected]> (cherry picked from commit bf3389ec49a158e0b66db8e038d801eacabd20f1)
* st/mesa: fix sampler view reference counting bug in glDraw/CopyPixelsBrian Paul2015-02-241-6/+9
| | | | | | | | | | | | Use pipe_sampler_view_reference() instead of ordinary assignment. Also add a new sanity check assertion. Fixes piglit gl-1.0-drawpixels-color-index test crash. But note that the test still fails. Cc: "10.4, 10.5" <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> (cherry picked from commit 62a8883f32f8a4c8c7d85390d4b17986e4018edf)
* swrast: fix multiple color buffer writingBrian Paul2015-02-241-11/+14
| | | | | | | | | | | If a fragment program wrote to more than one color buffer, the first fragment color got replicated to all dest buffers. This fixes 5 piglit FBO tests, including fbo-drawbuffers-arbfp. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45348 Cc: "10.4, 10.5" <[email protected]> Reviewed-by: Eric Anholt <[email protected]> (cherry picked from commit 89c96afe3c0acf8f2fccaf02da02945afe8ba5f3)
* install-lib-links: don't depend on .libs directoryLucas Stach2015-02-241-2/+2
| | | | | | | | | | | | | | This snippet can be included in Makefiles that may, depending on the project configuration, not actually build any installable libraries. In that case we don't have anything to depend on and this part of the makefile may be executed before the .libs directory is created, so do not depend on it being there. Cc: "10.3 10.4 10.5" <[email protected]> Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Lucas Stach <[email protected]> (cherry picked from commit 5c1aac17adffeef9bb6171d83cc7ddd94c61c5f2)
* auxiliary/vl: honour the DRI2PROTO_CFLAGSEmil Velikov2015-02-241-0/+1
| | | | | | | | | Otherwise for non-default installations the build will fail to find the headers and error out. Cc: "10.5" <[email protected]> Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit 8a71fd8d49c6a086f9b7697bca3b1f3ae035121a)
* auxiliary/vl: Build vl_winsys_dri.c only when needed.Emil Velikov2015-02-242-1/+13
| | | | | | | | | | | | | With commit c39dbfdd0f7(auxiliary/vl: bring back the VL code for the dri targets) we did not fully consider users of dri-swrast alone. Thus we ended up trying to compile the dri2 specific code on platform which lack it - Cygwin for example. Cc: "10.5" <[email protected]> Reported-by: Jon TURNEY <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jon TURNEY <[email protected]> (cherry picked from commit dd7b6670a29ff3ed48ba44a9fecd1890363d914f)
* automake: Use AM_DISTCHECK_CONFIGURE_FLAGSEmil Velikov2015-02-241-1/+1
| | | | | | | | | | | Currently we use DISTCHECK_CONFIGURE_FLAGS, which is reserved for the user. As with other variables, one should use the AM_ variable within the makefile. Cc: "10.5" <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]> (cherry picked from commit 3018c4a56aab2ac1d8d5b228e6cbf13eea68b790)
* Revert "radeon/llvm: enable unsafe math for graphics shaders"Michel Dänzer2015-02-241-4/+0
| | | | | | | | | | | | This reverts commit 0e9cdedd2e3943bdb7f3543a3508b883b167e427. It caused the grass to disappear in The Talos Principle. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89069 Cc: "10.5 10.4" <[email protected]> Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Marek Olšák <[email protected]> (cherry picked from commit 4db985a5fa9ea985616a726b1770727309502d81)
* i965: Prefer Meta over the BLT for BlitFramebuffer.Kenneth Graunke2015-02-241-7/+7
| | | | | | | | | | | | | | | | | | There's some debate about whether we should use Meta or BLORP, but either should run circles around the BLT engine. In particular, this means that Gen8+ will use the 3D engine for blits, like we do on Gen6-7. Improves performance in "copypixrate -blit -back" (from Mesa demos) by 232.037% +/- 3.15795% (n=10) on Broadwell GT3e. v2: Rebase on Laura's changes. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Cc: "10.5" <[email protected]> (cherry picked from commit d523fefa756eef9c7a2c0d91cf4c2df10b89ed2a)
* Make _mesa_swizzle_and_convert argument types in .c match those in .hAlan Coopersmith2015-02-241-2/+2
| | | | | | | | | | | Caused Solaris Studio compilers to fail to build with errors about incompatible function redefinitions. Signed-off-by: Alan Coopersmith <[email protected]> Cc: "10.5" <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]> (cherry picked from commit b7ce7c00e35ceb3518d932359ed52cacd6679acb)
* Use __typeof instead of typeof with Solaris Studio compilersAlan Coopersmith2015-02-241-3/+3
| | | | | | | | | | | While the C compiler accepts typeof, C++ requires __typeof. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86944 Signed-off-by: Alan Coopersmith <[email protected]> Cc: "10.5" <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]> (cherry picked from commit 4671dca0eecf7dbf3e0d0a13111813756722d57d)
* Avoid fighting with Solaris headers over isnormal()Alan Coopersmith2015-02-241-1/+1
| | | | | | | | | | | | When compiling in C99 or C++11 modes, Solaris defines isnormal() as a macro via <math.h>, which causes the function definition to become too mangled to compile. Signed-off-by: Alan Coopersmith <[email protected]> Cc: "10.5" <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]> (cherry picked from commit d602fbd861e2c3c5570b55f0839361a6f8bd32c7)
* Remove extraneous ; after DECL_TYPE usageAlan Coopersmith2015-02-241-33/+33
| | | | | | | | | | | | | | | The macro is defined to provide a trailing ; so this caused the expansion to end in ";;" which made the Solaris Studio compilers issue warnings for every line of: "builtin_type_macros.h", line 113: Warning: extra ";" ignored. for every file that included the header, filling build logs with thousands of useless warnings. Signed-off-by: Alan Coopersmith <[email protected]> Cc: "10.5" <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]> (cherry picked from commit 815b3bd096a3eab9f00f9270d45a6885d73180e9)
* Bracket arguments to tr so they work with Solaris trAlan Coopersmith2015-02-241-1/+1
| | | | | | | | | | | | | | | | | https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Limitations-of-Usual-Tools.html#index-g_t_0040command_007btr_007d-1842 Without this fix, egl fails to build on Solaris, with the error: <command-line>:0:22: error: '_EGL_PLATFORM_x11' undeclared (first use in this function) egldisplay.c:207:31: note: in expansion of macro '_EGL_NATIVE_PLATFORM' native_platform = _EGL_NATIVE_PLATFORM; ^ Signed-off-by: Alan Coopersmith <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Cc: "10.5" <[email protected]> (cherry picked from commit 60ad5103b9c85cbb0921082fba9401f117424f25)
* glsl: Reduce memory consumption of copy propagation passes.Kenneth Graunke2015-02-242-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | opt_copy_propagation and opt_copy_propagation_elements create new ACP and Kill sets each time they enter a new control flow block. For if blocks, they also copy the entire existing ACP set contents into the new set. When we exit the control flow block, we discard the new sets. However, we weren't freeing them - so they lived on until the pass finished. This can waste a lot of memory (57MB on one pessimal shader). This patch makes the pass allocate ACP entries using this->acp as the memory context, and Kill entries out of this->kill. It also steals kill entries when moving them from the inner kill list to the parent. It then frees the lists, including their contents. v2: Move ralloc_free(this->acp) just before this->acp = orig_acp (suggested by Eric Anholt). Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Cc: "10.5 10.4" <[email protected]> (cherry picked from commit 76960a55e6656bb0022e9c31ae7542010da130e3)
* main: Fixed _mesa_GetCompressedTexImage_sw to copy slices correctly.Laura Ekstrand2015-02-241-2/+2
| | | | | | | | | | | | Previously array textures were not working with GetCompressedTextureImage, leading to failures in the test arb_direct_state_access/getcompressedtextureimage.c. Tested-by: Laura Ekstrand <[email protected]> Reviewed-by: Brian Paul <[email protected]> Cc: "10.4, 10.5" <[email protected]> (cherry picked from commit 92163482bda87216764edc0beca3ca090678038d)
* radeonsi: fix a crash if a stencil ref state is set before a DSA stateMarek Olšák2015-02-241-4/+8
| | | | | | | | | | | | | + minor indentation fixes Discovered by Axel Davy. This can't be reproduced with any app, because all state trackers set a DSA state first. Cc: 10.5 10.4 10.3 <[email protected]> Reviewed-by: Axel Davy <[email protected]> (cherry picked from commit 2ead74888a70481aa40b5b6ede42279e1917e66c)
* mesa: fix AtomicBuffer typo in _mesa_DeleteBuffersMarek Olšák2015-02-241-1/+1
| | | | | | Cc: 10.5 10.4 10.3 <[email protected]> Reviewed-by: Brian Paul <[email protected]> (cherry picked from commit e8625a29fe0942af2876f0684b06c6ed01939227)
* radeonsi: small fix in SPI stateMarek Olšák2015-02-241-2/+4
| | | | | | Cc: 10.5 10.4 <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> (cherry picked from commit a27b74819ad375e8c0bc88e13f42c951d2b5cd6a)
* meta: Fix saving the results of the current occlusion queryNeil Roberts2015-02-241-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | When restoring the current state in _mesa_meta_end it was previously trying to copy the on-going sample count of the current occlusion query into the new query after restarting it so that the driver will continue adding to the previous value. This wouldn't work for two reasons. Firstly, the query might not be ready yet so the Result member will usually be zero. Secondly the saved query is stored as a pointer to the query object, not a copy of the struct, so it is actually restarting the exact same object. Copying the result value is just copying between identical addresses with no effect. The call to _mesa_BeginQuery will have always reset it back to zero. This patch fixes it by making it actually wait for the query object to be ready before grabbing the previous result. The downside of doing this is that it could introduce a stall but I think this situation is unlikely so it might not matter too much. A better solution might be to introduce a real suspend/resume mechanism to the driver interface. This could be implemented in the i965 driver by saving the depth count multiple times like it does in the i945 driver. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88248 Reviewed-by: Carl Worth <[email protected]> Cc: "10.5" <[email protected]> (cherry picked from commit bb77745681e179b53ea64da7bc1987b57643b7b0)
* mesa: Fix element count for byte-swaps in texstore, readpix and texgetimageIago Toral Quiroga2015-02-243-15/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some old format conversion code in pack.c implemented byte-swapping like this: GLint comps = _mesa_components_in_format(dstFormat); GLint swapSize = _mesa_sizeof_packed_type(dstType); if (swapSize == 2) _mesa_swap2((GLushort *) dstAddr, n * comps); else if (swapSize == 4) _mesa_swap4((GLuint *) dstAddr, n * comps); where n is the pixel count. But this is incorrect for packed formats, where _mesa_sizeof_packed_type is already returning the size of a pixel instead of the size of a single component, so multiplying this by the number of components in the format results in a larger element count for _mesa_swap than we want. Unfortunately, we followed the same implementation for byte-swapping in the rewrite of the format conversion code for texstore, readpixels and texgetimage. This patch computes the correct element counts for _mesa_swap calls by computing the bytes per pixel in the image and dividing that by the swap size to obtain the number of swaps required per pixel. Then multiplies that by the number of pixels in the image to obtain the swap count that we need to use. Also, when handling byte-swapping in texstore_rgba, we were ignoring the image's depth. This patch fixes this too. Reviewed-by: Jason Ekstrand <[email protected]> Cc: "10.5" <[email protected]> (cherry picked from commit ba426522dddf0860f59dedfe9953dbd509160c7d)
* mesa: Handle transferOps in texstore_rgbaIago Toral Quiroga2015-02-241-5/+52
| | | | | | | | | | In the recent rewrite of the format conversion code we did not handle this. This patch adds the missing support. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89068 Reviewed-by: Jason Ekstrand <[email protected]> Cc: "10.5" <[email protected]> (cherry picked from commit 4b249d2eed686384d6d7c36f3232360891d5eeda)
* i965/vec4/vp: Use vec4_visitor::CMP.Matt Turner2015-02-241-2/+1
| | | | | | | | | | | | | | | | | | ... instead of emit(BRW_OPCODE_CMP, ...). In commit 6b3a301f I changed vec4_visitor::CMP to set the destination's type to that of src0. In the following commit (2335153f) I removed an apparently now unnecessary work around for Gen8 that did the same thing. But there was a single place that emitted a CMP instruction without using the vec4_visitor::CMP function. Use it there. And change dst_null_d to dst_null_f for good measure, since ARB vp doesn't have integers. Cc: "10.5" <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89032 Reviewed-by: Kenneth Graunke <[email protected]> (cherry picked from commit 72b9f8db2a035b52dbd59af0d2a6441cbde11a4c)
* nvc0: allow holes in xfb target listsIlia Mirkin2015-02-242-4/+13
| | | | | | | | | Tested with a modified xfb-streams test which outputs to streams 0, 2, and 3. Signed-off-by: Ilia Mirkin <[email protected]> Cc: "10.4 10.5" <[email protected]> (cherry picked from commit 854eb06bee7d266fc739f984c1b4ebb54dac3b87)
* st/mesa: treat resource-less xfb buffers as if they weren't thereIlia Mirkin2015-02-241-1/+1
| | | | | | | | | | | | | If a transform feedback buffer's size is 0, st_bufferobj_data doesn't end up creating a buffer for it. There's no point in trying to write to such a buffer, so just pretend as if it's not really there. This fixes arb_gpu_shader5-xfb-streams-without-invocations on nvc0. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Cc: "10.4 10.5" <[email protected]> (cherry picked from commit 80d373ed5b1d90a5e71747ee5b8951baac62f750)
* nvc0: bail out of 2d blits with non-A8_UNORM alpha formatsIlia Mirkin2015-02-241-2/+5
| | | | | | | | | This fixes the teximage-colors uploads with GL_ALPHA format and non-GL_UNSIGNED_BYTE type. Signed-off-by: Ilia Mirkin <[email protected]> Cc: "10.4 10.5" <[email protected]> (cherry picked from commit 68e4f3f572b1e629f32a73ae618dc0b016f631b1)
* mesa: fix OES_texture_float texture render target behaviorTapani Pälli2015-02-241-0/+12
| | | | | | | | | | | | | | | | | | Current implementation allowed usage of unsized type texture GL_FLOAT and GL_HALF_FLOAT as a render target as this was 'expected behavior' by WEBGL_oes_texture_float and is also allowed by the oes-texture-float WebGL test. However this broke some ES3 conformance tests that do not accept such behavior. Patch sets such an fbo incomplete as expected by the ES3 conformance tests. Textures with sized types like RGBA32F will still continue to work as render targets. v2: code style cleanups (Ian Romanick, Matt Turner) Signed-off-by: Tapani Pälli <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88905 Reviewed-by: Ian Romanick <[email protected]> Cc: "10.5" <[email protected]> (cherry picked from commit e333035c47a6a4cc88f0f9ca2bced500538bebae)
* Revert use of Mesa IR optimizer for ARB_fragment_programsCarl Worth2015-02-241-3/+0
| | | | | | | | | | | | | | | | | | | | | Commit f82f2fb3dc770902f1657ab1c22e6004faa3afab added use of the Mesa IR optimizer for both ARB_fragment_program and ARB_vertex_program, but only justified the vertex-program portions with measured performance improvements. Meanwhile, the optimizer was seen to generate hundreds of unused immediates without discarding them, causing failures. Discard the use of the optimizer for now to fix the regression. (In the future, we anticpate things moving from Mesa IR to NIR for better optimization anyway.) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82477 Reviewed-by: Ian Romanick <[email protected]> CC: "10.3 10.4 10.5" <[email protected]> (cherry picked from commit 55a57834bf912916a5e07486b32f1778b35657f6)