summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* main: allow NEAREST_MIPMAP_NEAREST for stencil texturingRoland Scheidegger2016-12-061-15/+8
| | | | | | | | | | | | As per GL 4.5 rules, which fixed a spec mistake in GL_ARB_stencil_texturing. The extension spec wasn't updated, but just allow it with older GL versions as well, hoping there aren't any crazy tests which want to see an error there... (Compile tested only.) Reported by Józef Kucia <[email protected]> Acked-by: Józef Kucia <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: fix ldexp lowering if bitfield insert lowering is also requestedRoland Scheidegger2016-12-061-5/+16
| | | | | | | | | | Trivial, this just resurrects the code which was there once upon a time (the code can't lower instructions generated in the lowering pass there, and even if it could it would probably be suboptimal). This fixes piglit mesa_shader_integer_functions fs-ldexp.shader_test and vs-ldexp.shader_test with llvmpipe. Reviewed-by: Matt Turner <[email protected]>
* radv: fix resource leak in radv_amdgpu_ctx_createNayan Deshmukh2016-12-061-0/+1
| | | | | | | | | CovID: 1396387 V2. Fixup bad whitespace. Signed-off-by: Nayan Deshmukh <[email protected]> Reviewed-by: Edward O'Callaghan <[email protected]>
* st/omx/enc Raise default encode levelAndy Furniss2016-12-051-1/+1
| | | | | | | | Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91281 Signed-off-by: Andy Furniss <[email protected]> Reviewed-by: Christian König <[email protected]>
* radeon/vce Handle H.264 level 5.2Andy Furniss2016-12-051-1/+2
| | | | | | | | | Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91281 v2: explicitly add case 52 Signed-off-by: Andy Furniss <[email protected]> Reviewed-by: Christian König <[email protected]>
* nir: Remove some unused fields from nir_variableJason Ekstrand2016-12-053-43/+0
| | | | | | | All of these are happily set from glsl_to_nir or spirv_to_nir but their values are never used for anything. Reviewed-by: Iago Toral Quiroga <[email protected]>
* nir: Delete most of the constant_initializer supportJason Ekstrand2016-12-055-146/+12
| | | | | | | | | | | Constant initializers have been a constant (ha!) pain for quite some time. While they're useful from a language perspective, people writing passes or backends really don't want deal with them most of the time. This commit removes most of the constant initializer support from NIR. It is expected that you call nir_lower_constant_initializers VERY EARLY to ensure that they're gone before you do anything interesting. Reviewed-by: Iago Toral Quiroga <[email protected]>
* nir: Simplify nir_lower_gs_intrinsicsJason Ekstrand2016-12-051-21/+16
| | | | | | | It's only ever called on single-function shaders. At this point, there are a lot of helpers that can make it all much simpler. Reviewed-by: Iago Toral Quiroga <[email protected]>
* nir/lower_returns: Stop using constant initializersJason Ekstrand2016-12-051-4/+5
| | | | Reviewed-by: Iago Toral Quiroga <[email protected]>
* glsl/nir: Call nir_lower_constant_initializersJason Ekstrand2016-12-051-0/+2
| | | | Reviewed-by: Iago Toral Quiroga <[email protected]>
* anv/pipeline: Call nir_lower_constant_initializersJason Ekstrand2016-12-051-0/+13
| | | | Reviewed-by: Iago Toral Quiroga <[email protected]>
* nir: Add a pass for lowering away constant initializersJason Ekstrand2016-12-053-0/+115
| | | | Reviewed-by: Iago Toral Quiroga <[email protected]>
* Revert "i965: use nir_lower_indirect_derefs() for GLSL"Jason Ekstrand2016-12-053-10/+23
| | | | | This reverts commit 9404439a754e5640ccd98df40fa694835c0d8759. I didn't intend to push it and it breaks clip and cull distance.
* i965: Delete the meta-base CopyImageSubData implementationJason Ekstrand2016-12-054-328/+0
| | | | | | | | | | | | | | | | | | | When I originally implemented the ARB_copy_image extension, the fast-path was written in meta using texture views. This path only worked if both images were uncompressed color images. All of the other cases fell back to the blitter or, in the worst case, mapping and memcpy on the CPU. Now that we have the blorp path, it handles all copies ever and the old meta, blitter, and CPU paths are only used on gen5 and below. The primary reason why we needed the meta path (apart from having a slow blitter on later hardware) was to handle multisampling which gen5 and earlier don't support anyway. Since the blitter is reasonably fast on gen5, we can just delete the meta path and get rid of all that terrible code. If we decide that we're ok with just disabling ARB_copy_image on gen5 and earlier (I personally am), then we could get rid of another 300 lines or so of semi-hairy code. Reviewed-by: Anuj Phogat <[email protected]>
* i965/copy_image: Re-implement the blitter path with emit_miptree_blitJason Ekstrand2016-12-053-97/+80
| | | | | | | | | | By using emit_miptree_blit which does chunking, this fixes the blitter path for the case where the image is too tall to blit normally. We also pull it into intel_blit as intel_miptree_copy. This matches the naming of the blorp blit and copy functions brw_blorp_blit and brw_blorp_copy. Reviewed-by: Anuj Phogat <[email protected]> Cc: "13.0" <[email protected]>
* i965/blit: Break the guts of intel_miptree_blit into a helperJason Ekstrand2016-12-051-67/+84
| | | | | Reviewed-by: Anuj Phogat <[email protected]> Cc: "13.0" <[email protected]>
* i965: use nir_lower_indirect_derefs() for GLSLTimothy Arceri2016-12-053-23/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves the nir_lower_indirect_derefs() call into brw_preprocess_nir() so thats is called by both OpenGL and Vulkan and removes that call to the old GLSL IR pass lower_variable_index_to_cond_assign() We want to do this pass in nir to be able to move loop unrolling to nir. There is a increase of 1-3 instructions in a small number of shaders, and 2 Kerbal Space program shaders that increase by 32 instructions. Shader-db results BDW: total instructions in shared programs: 8705873 -> 8706194 (0.00%) instructions in affected programs: 32515 -> 32836 (0.99%) helped: 3 HURT: 79 total cycles in shared programs: 74618120 -> 74583476 (-0.05%) cycles in affected programs: 528104 -> 493460 (-6.56%) helped: 47 HURT: 37 LOST: 2 GAINED: 0
* swr: mark PIPE_CAP_NATIVE_FENCE_FD unsupportedTim Rowley2016-12-051-0/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: include llvm version and vector width in renderer stringTim Rowley2016-12-051-1/+11
| | | | | | Uses llvmpipe's string formating. Reviewed-by: Bruce Cherniak <[email protected]>
* gallivm: use getHostCPUFeatures on x86/llvm-4.0+.Tim Rowley2016-12-051-0/+15
| | | | | | | Use llvm provided API based on cpuid rather than our own manually mantained list of mattr enabling/disabling. Reviewed-by: Roland Scheidegger <[email protected]>
* st/va: declare vlVaBuffer before vlVaContextJuan A. Suarez Romero2016-12-051-15/+15
| | | | | | | | | | And declare coded_buf in vlVaContext as "vlVaBuffer *" instead of "struct vlVaBuffer *". This fixes several warnings later about assignment from incompatible pointer type. Reviewed-by: Emil Velikov <[email protected]>
* st/va: remove unused variable pbuffJuan A. Suarez Romero2016-12-051-1/+0
| | | | | Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Elie Tournier <[email protected]>
* st/va: automake: cleanup C{PP,}FLAGSEmil Velikov2016-12-051-12/+0
| | | | | | | | Remove some transitional left overs from the gallium pipe-loader rework and kill off unneeded AM_CPPFLAGS. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* add EGL_TEXTURE_EXTERNAL_WL to WL_bind_wayland_display specRob Clark2016-12-052-0/+6
| | | | | Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
* docs: add news item and link release notes for 12.0.5Emil Velikov2016-12-052-0/+11
| | | | Signed-off-by: Emil Velikov <[email protected]>
* docs: add sha256 checksums for 12.0.5Emil Velikov2016-12-051-1/+2
| | | | | Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit 6b1c3c3aa0a2b643dbb9964b7001097eed3c4888)
* docs: add release notes for 12.0.5Emil Velikov2016-12-051-0/+137
| | | | | Signed-off-by: Emil Velikov <[email protected]> (cherry picked from commit 01579a9d007830f2f905646c9d1f9bd0a03caa89)
* configure.ac: Create correct LLVM_VERSION_INT with minor >= 10Tobias Droste2016-12-051-1/+5
| | | | | | | This makes sure that we handle LLVM minor version >= 10 correctly. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Get complete LLVM version from headerTobias Droste2016-12-051-6/+4
| | | | | | | | | | | | | | Major and minor version are included in the header file since LLVM version 3.1.0. Since the minimal required version is 3.3.0 we can remove the workaround if no values for major/minor were found in the header. Since LLVM 3.6.0 the patch version is inside the header file of LLVM. Only radeon drivers need the patch version and they depend on LLVM >= 3.6.0, so this is safe too. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Add required LLVM versions to the topTobias Droste2016-12-051-14/+54
| | | | | | | | | | | Consolidate the required LLVM versions at the top where the other versions for dependencies are listed. v5: Splitted out separate changes (see patch 19 and 20) Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Only add default LLVM components if neededTobias Droste2016-12-051-3/+12
| | | | | | | | | | | | LLVM components are only added when LLVM is needed. This means gallium adds this as soon as "--enable-gallium-llvm" is "yes" and radv + opencl add it explicitly. v5: Removed hunk that disabled LLVM for gallium if it was not found. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Reorder arguments in radeon_llvm_checkTobias Droste2016-12-051-8/+8
| | | | | | | Use the same order as llvm_check_version_for. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move radv check to the Vulkan sectionTobias Droste2016-12-051-4/+1
| | | | | | | | This moves the LLVM check for radv to the corresponding driver section. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move LLVM ac_subst closer to usageTobias Droste2016-12-051-15/+14
| | | | | | | | | This moves llvm_set_environment_variables to its final destination and moves all the LLVM AC_SUBST() below the function call. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move oCL LLVM checks to the oCL sectionTobias Droste2016-12-051-22/+19
| | | | | | | | | | | The LLVM checks can be anywhere below line 1161 now. Move the openCL LLVM checks to the section with the other openCL checks. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]> [Emil Velikov: s/ipos/ipo/, drop "yes" argument from llvm_add_component] Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: Move llvm_set_environment_variables higher.Tobias Droste2016-12-0512-18/+15
| | | | | | | | | | | | | | | | This moves the function to get the LLVM environment variables higher in the file. It still needs to be below the "--enable-opencl" because it uses $enable_opencl. It can be called without condition now as it only throws errors if openCL is enabled. v5: HAVE_MESA_LLVM is only used for gallium. Rename it to HAVE_GALLIUM_LLVM. In order to only link LLVM when it is needed, HAVE_GALLIUM_LLVM is only set if "$enable-gallium-llvm" is yes. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Remove swr_llvm_check()Tobias Droste2016-12-051-11/+2
| | | | | | | | | | | | | No need for an additional function here. Use the same style for LLVM checks as the other drivers (e.g. r300, llvmpipe) that don't need a load of other checks. Instead of open conding the LLVM version check, use the function used by other drivers. "enable_gallium_llvm" is checked by gallium_require_llvm(). Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Check gallium LLVM version in gallium_require_llvmTobias Droste2016-12-051-12/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | This moves the LLVM version check to the helper function gallium_require_llvm() and uses the llvm_check_version_for() helper instead of open conding the LLVM version check. gallium_require_llvm is functionally the same as before, because "enable_gallium_llvm" is only set to "yes" if the host cpu is x86: if test "x$enable_gallium_llvm" = xauto; then case "$host_cpu" in i*86|x86_64|amd64) enable_gallium_llvm=yes;; esac fi This function is also only called now when needed. Before this patch llvmpipe would call this as soon as LLVM is installed. Now it only gets called by llvmpipe if gallium LLVM is actually enabled (i.e. only on x86). Both reasons mentioned above remove the need to check host cpu in the gallium_require_llvm function. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Use short names for r600 und r300Tobias Droste2016-12-051-4/+4
| | | | | | | | | There are no non gallium r300 and r600 drivers anymore. No need to explicilty mention gallium here. Just cosmetics, no functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Remove useless oCL LLVM checkTobias Droste2016-12-051-4/+0
| | | | | | | This is handled by "llvm_check_version_for" for openCL. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move llvm-config searching outside the functionTobias Droste2016-12-051-8/+8
| | | | | | | | There's no harm in always searching llvm-config. This way it's available as soon as possible for all functions. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move LLVM functions to the topTobias Droste2016-12-051-77/+74
| | | | | | | | | This just moves code around so that all LLVM related stuff is at the top of the file in the correct order. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Move LLVM version check to the topTobias Droste2016-12-051-70/+74
| | | | | | | | | | | A function with the LLVM version checked is moved to the top. The function is called where the old code was. No functional change. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]> [Emil Velikov: s/ipos/ipo/, drop "yes" argument from llvm_add_component] Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: Use new helper function for LLVMTobias Droste2016-12-051-7/+18
| | | | | | | | | | | Use the new helper function to add LLVM targets and components. The components are added one by one to later find out which component is missing in case there is one. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]> [Emil Velikov: s/ipos/ipo/, drop "yes" argument from llvm_add_component] Signed-off-by: Emil Velikov <[email protected]>
* configure.ac: Use new llvm_add_default_componentsTobias Droste2016-12-051-5/+1
| | | | | Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Add helper function for targets/componentsTobias Droste2016-12-051-0/+36
| | | | | | | | Add functions to add and check targets/components. Not used in this patch. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* configure.ac: Don't search llvm-config if it's knownTobias Droste2016-12-051-4/+6
| | | | | | | | | | This way LLVM_CONFIG can bet set from an env variable if it's outside the $llvm_prefix. This is not a must, but it helps testing. Signed-off-by: Tobias Droste <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* st/va: fix gop size for rate controlBoyuan Zhang2016-12-052-6/+14
| | | | | | | | | | | | | The gop_size in rate control is the budget window for internal rate control calculation, and shouldn't always equal to idr period. Define a coefficient to let budget window contains a number of idr period for proper rate control calculation. Adjust the number of i/p frame remaining accordingly. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=98005 Signed-off-by: Boyuan Zhang <[email protected]> Acked-by: Christian König <[email protected]>
* st/va: force to submit two consecutive single jobsBoyuan Zhang2016-12-053-7/+27
| | | | | | | | | | | | | | | The gop_size in rate control is the budget window for internal rate control calculation, and shouldn't always equal to idr period. Define a coefficient to let budget window contains a number of idr period for proper rate control calculation. Adjust the number of i/p frame remaining accordingly. v2: fixed regression issues introduced by previous version Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=98005 Signed-off-by: Boyuan Zhang <[email protected]> Acked-by: Christian König <[email protected]>
* st/vdpau: fix compiler warning in vlVdpVideoMixerRenderNayan Deshmukh2016-12-051-1/+1
| | | | | Signed-off-by: Nayan Deshmukh <[email protected]> Reviewed-by: Christian König <[email protected]>