summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* intel/compiler: Re-prefix non-logical surface opcodes with VEC4Jason Ekstrand2019-02-2810-47/+25
| | | | | | | | The scalar back-end uses SHADER_OPCODE_SEND for all surface messages so we no longer need the non-logical opcodes there. Prefix them VEC4 so it's clear that they're only used by the vec4 back-end. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* intel/schedule_instructions: Move some commentsJason Ekstrand2019-02-281-37/+37
| | | | Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* intel/compiler: Drop unused surface opcodesJason Ekstrand2019-02-287-60/+0
| | | | | | | | | The unused typed surface read/write support in the vec4 back-end has been dropped and the fs back-end now uses SHADER_OPCODE_SEND for all image and buffer ops. There's no reason to keep these opcodes around anymore. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* intel/fs: Get rid of the IMAGE_SIZE opcodeJason Ekstrand2019-02-283-10/+5
| | | | | | | Since switching to SHADER_OPCODE_SEND for image operations, we no longer need the non-logical opcode. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* intel/vec4: Drop dead code for handling typed surface messagesJason Ekstrand2019-02-285-272/+0
| | | | Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* intel/fs: Drop the fs_surface_builderJason Ekstrand2019-02-285-471/+195
| | | | | | | | | | All of the actual abstraction (except possibly setting size_written) happens as part of the logical opcodes. The only thing that the surface builder is providing at this point is extra levels of functions to call through. I'm going to be adding bindless image support soon and all the extra abstraction here is just getting in the way. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* intel/fs: Re-order logical surface argumentsJason Ekstrand2019-02-281-2/+2
| | | | | | | | It makes more sense to start at the surface then move on to the address and then the data. Also, this is a really good test of whether or not we got all the places that use the sources by explicit integer number. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* intel/fs: Add an enum type for logical sampler inst sourcesJason Ekstrand2019-02-283-39/+58
| | | | Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* scons: Workaround failures with MSVC when using SCons 3.0.[2-4].Jose Fonseca2019-02-281-1/+7
| | | | | | | | | | | | | | This change applies the workaround suggested by Bill Deegan on the affected SCons versions. It also adds a comment with the URL explaining why we were using customizing the decider and max_drift in the first place, as I had forgotten all about it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109443 Tested-by: [email protected] Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* freedreno: Fix a couple of warningsKristian H. Kristensen2019-02-282-2/+2
| | | | Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/a6xx: Don't zero SO buffer addressesKristian H. Kristensen2019-02-281-38/+0
| | | | | | Just disable SO in VPC_SO_BUF_CNTL. Less noise in dumps. Signed-off-by: Kristian H. Kristensen <[email protected]>
* freedreno/a6xx: Only output MRT control for used framebuffersKristian H. Kristensen2019-02-281-1/+1
| | | | | | | Not much of an optimization, but makes for less noise in the command buffer dumps. Signed-off-by: Kristian H. Kristensen <[email protected]>
* gitlab-ci: install xmllint to validate 00-mesa-defaults.confEric Engestrom2019-02-282-1/+4
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* driconf: add DTD to allow the drirc xml (00-mesa-defaults.conf) to be validatedEric Engestrom2019-02-282-1/+28
| | | | | | | | This DTD can be used to validate the drirc xml: $ xmllint --noout --valid 00-mesa-defaults.conf Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* vulkan: use VkBase{In,Out}Structure instead of a custom structEric Engestrom2019-02-281-7/+2
| | | | | | | | | VkBaseInStructure and VkBaseOutStructure are part of vulkan_core.h (which is part of vulkan.h) Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* vulkan/overlay: add support for fps output in fileLionel Landwerlin2019-02-284-15/+39
| | | | | | | Also make the sampling period configurable. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* vulkan/overlay: rework option parsingLionel Landwerlin2019-02-286-113/+265
| | | | | | | Makes adding new options easier. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* vulkan/overlay: fix min/max computationsLionel Landwerlin2019-02-281-11/+11
| | | | | | | This shouldn't be condition to the acquire time being visible. Signed-off-by: Lionel Landwerlin <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* egl/sl: use kms_swrast with vgem instead of a random GPUEmil Velikov2019-02-281-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | VGEM and kms_swrast were introduced to work with one another. All we do is CPU rendering to dumb buffers. There is no reason to carve out GPU memory, increasing the memory pressure on a device that could make a better use of it. Note: - The original code did not work out of the box, since the dumb buffer ioctls are not exposed to render nodes. - This requires libdrm commit 3df8a7f0 ("xf86drm: fallback to MODALIAS for OF less platform devices") - The non-kms, swrast is unaffected by this change. v2: - elaborate what and how is/isn't working (Eric) - simplify driver_name handling (Eric) v3: - move node_type outside of the loop (Eric) - kill no longer needed DRM_RENDER_DEV_NAME define Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Gurchetan Singh <[email protected]>
* egl/sl: use drmDevice API to enumerate available devicesEmil Velikov2019-02-281-36/+37
| | | | | | | | | | | | | | This provides for a more comprehensive iteration and slightly more straight-forward codebase. v2: - s/dpy/disp/ - keep original 64 devices (Eric) Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Gurchetan Singh <[email protected]>
* egl/sl: split out swrast probe into separate functionEmil Velikov2019-02-281-16/+27
| | | | | | | | | | | | | | | | Make the code a bit easier to read. As a bonus point this makes it obvious that we forgot to call _eglAddDevice() for the device - do so. v2: - s/dpy/disp/ (Eric) - free(driver_name) on dri2_load_driver_swrast() failure (Eric) Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Mathias Fröhlich <[email protected]> (v1) Reviewed-by: Gurchetan Singh <[email protected]>
* nir/spirv: return after emitting a branch in blockcros-mesa-19.0-r1-vanillachadv/cros-mesa-19.0-r1-vanillaJuan A. Suarez Romero2019-02-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | When emitting a branch in a block, it does not make sense to continue processing further instructions, as they will not be reachable. This fixes a nasty case with a loop with a branch that both then-part and else-part exits the loop: %1 = OpLabel OpLoopMerge %2 %3 None OpBranchConditional %false %2 %2 %3 = OpLabel OpBranch %1 %2 = OpLabel [...] We know that block %1 will branch always to block %2, which is the merge block for the loop. And thus a break is emitted. If we keep continuing processing further instructions, we will be processing the branch conditional and thus emitting the proper NIR conditional, which leads to instructions after the break. This fixes dEQP-VK.graphicsfuzz.continue-and-merge. CC: Jason Ekstrand <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* egl/android: replace magic 0=CbCr,1=CrCb with simple enumEric Engestrom2019-02-281-18/+24
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* st/nir: count num_uniforms for FS bultin shaderCaio Marcelo de Oliveira Filho2019-02-271-0/+2
| | | | | | | | Usually the uniforms will be assigned locations and have their slots counted automatically, but for builtin shaders the location assignment is manual. So count them too otherwise we get num_uniforms == 0. Reviewed-by: Kenneth Graunke <[email protected]>
* glx: fix shared memory leak in X11Ray Zhang2019-02-281-0/+3
| | | | | | | | call XShmDetach to allow X server to free shared memory Fixes: bcd80be49a8260c2233d "drisw/glx: use XShm if possible" Signed-off-by: Ray Zhang <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* radeonsi/nir: move si_lower_nir() call into compiler threadTimothy Arceri2019-02-281-2/+3
| | | | | | | | This helps improve compile times. For example the shader-db dolphin shader shaders/dolphin/ubershaders/120.shader_test goes from ~1.69 -> ~1.57 seconds on my machine with this change. Reviewed-by: Marek Olšák <[email protected]>
* glsl: fix shader cache for packed param listTimothy Arceri2019-02-283-11/+11
| | | | | | | | | | | | | | | Some types of params such as some builtins are always padded. We need to keep track of this so we can restore the list correctly. Here we also remove a couple of cache entries that are not actually required as they get rebuilt by the _mesa_add_parameter() calls. This patch fixes a bunch of arb_texture_multisample and arb_sample_shading piglit tests for the radeonsi NIR backend. Fixes: edded1237607 ("mesa: rework ParameterList to allow packing") Reviewed-by: Marek Olšák <[email protected]>
* i965: Fix allow_higher_compat_version workaround limited by OpenGL 3.0Yevhenii Kolesnikov2019-02-281-6/+12
| | | | | | | | | | | | Added check for higher compat profile being allowed before assigning certain extensions. Fixes: 272fe9494232 (mesa: enable ARB_texture_buffer_* extensions in the Compatibility profile) Signed-off-by: Danylo Piliaiev <[email protected]> Signed-off-by: Yevhenii Kolesnikov <[email protected]> Reviewed-by: Timothy Arceri <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107052
* intel/compiler: use correct swizzle for replacementLionel Landwerlin2019-02-271-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | The optimization in 4cd1a0be76883c introduced a replacement of : cmp(8).z.f0.0 vgrf11.y:D, vgrf10.xxxx:D, vgrf2.xyyy:D ... cmp(8).nz.f0.0 null.x:D, vgrf11.yyyy:D, 0D By : cmp(8).z.f0.0 vgrf15.x:D, vgrf10.xxxx:D, vgrf2.yyyy:D ... mov(8) vgrf11.y:D, vgrf15.yyyy:D The first cmp instruction is storing in x while the second mov is sourcing from y. We need to take into account where the replacement on the scan_inst destination is going to store thing so that the replacement mov can source things from the correct location. Signed-off-by: Lionel Landwerlin <[email protected]> Fixes: 4cd1a0be76883c ("i965/vec4: Propagate conditional modifiers from more compares to other compares") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109759 Reviewed-by: Ian Romanick <[email protected]>
* freedreno: catch failing fd_blit and fallback to software blitJonathan Marek2019-02-273-11/+15
| | | | | | Fixes cases where the fd_blit fails and never happens (ex: blit to etc1) Signed-off-by: Jonathan Marek <[email protected]>
* freedreno: use renderonly path for buffers allocated with modifiersJonathan Marek2019-02-271-1/+7
| | | | | | | | | Now that freedreno has create_with_modifiers(), this "hack" is needed to make some cases work. Copied from vc4. Fixes: 41ddf1d1 Signed-off-by: Jonathan Marek <[email protected]>
* freedreno: a2xx: fix mipmapping for NPOT texturesJonathan Marek2019-02-271-0/+6
| | | | | | Fixes: 3a273a4a Signed-off-by: Jonathan Marek <[email protected]>
* freedreno: a2xx: fix fast clear for some gmem configurationsJonathan Marek2019-02-271-3/+3
| | | | | | | | | In freedreno_gmem.c, gmem_align of 0x8000 is used. Alignment used here should be the same. Fixes: 912a9c8d Signed-off-by: Jonathan Marek <[email protected]>
* freedreno: a2xx: add use_hw_binning functionJonathan Marek2019-02-271-2/+24
| | | | | | Fixes: cb2322c7 Signed-off-by: Jonathan Marek <[email protected]>
* freedreno: a2xx: don't write 4th vertex in mem2gmemJonathan Marek2019-02-271-3/+1
| | | | | | | | There is only room for 3 vertices now (RECT has 3 vertices). Fixes: 6ef7700a Signed-off-by: Jonathan Marek <[email protected]>
* swr/codegen: fix autotools buildErik Faye-Lund2019-02-271-8/+8
| | | | | | | | | | | | | When the output directory was changed, the BUILT_SOURCES and build-rule target-path was no longer correct, leading to races to generate the sources and compiling them. Fix this by updating both sets of paths, so automake see what's going on here. Fixes: 773b3ceacaf ("swr/rast: Fix autotools and scons codegen") Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Alok Hota <[email protected]>
* util/os_misc: Add check for PIPE_OS_HURDTimo Aaltonen2019-02-271-2/+2
| | | | | | | | Fix build on Hurd. Signed-off-by: Timo Aaltonen <[email protected]> Acked-by: Eric Engestrom <[email protected]> Acked-by: Emil Velikov <[email protected]>
* vulkan/overlay: install layer binary in libdirLionel Landwerlin2019-02-272-13/+4
| | | | | | | | | | | | | This will allow multilib. v2: Drop path from json file, dlopen should be able to locate the lib in libdir v3: Switch from configure_file to install_data (Dylan) Signed-off-by: Lionel Landwerlin <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109788 Tested-by: Mike Lothian <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* meson/swr: replace hard-coded path with current_build_dir()Eric Engestrom2019-02-271-1/+1
| | | | | | | Fixes: 93cd9905c8fbb98985ae "swr/rast: Cleanup and generalize gen_archrast" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Alok Hota <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* nir: Add posibility to not lower to source mod 'abs' for ops with three sourcesGert Wollny2019-02-272-1/+8
| | | | | | | | | | This is useful for r600 since there the abs source modifier is not supported for ops with three sources v2: Use correct logic to enable lowering to abs source mod (Eric Anhold) Signed-off-by: Gert Wollny <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* virgl/vtest: deprecate protocol version 1Gurchetan Singh2019-02-274-43/+23
| | | | | | | | | | | | | | | | | This is a partial revert of 9d81cd ("virgl: Pass resource size and transfer offsets"). The adjustments made in the client code means there's various mismatches when transfering data. Let's fallback to protocol version 0 and deprecate protocol version 1. We can still use the protocol version 1 slots for a shared memory transfer mechanism later. Fixes: dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.*_renderbuffer Reviewed-By: Gert Wollny <[email protected]>
* util: fix a warning when building against clang7 headersTapani Pälli2019-02-271-0/+2
| | | | | | | | Header xmmintrin.h conditionally includes emmintrin.h that defines _MM_DENORMALS_ZERO_MASK, add ifndef to fix this warning. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* iris: add libmesa_iris_gen8 library to the buildTapani Pälli2019-02-271-0/+21
| | | | | | | Patch fixes iris build on Android. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* android: make libbacktrace optional on USE_LIBBACKTRACETapani Pälli2019-02-272-3/+9
| | | | | | | | | | | | Otherwise with VNDK enabled we fail linking: src/gallium/targets/dri/Android.mk: error: gallium_dri (native:vendor) should not link to libbacktrace.vendor (native:vndk_private) Option makes it possible to use libbacktrace only when VNDK is not enabled. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* android: add liblog to libmesa_intel_common buildTapani Pälli2019-02-271-1/+1
| | | | | Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* panfrost/midgard: Allow flt to run on most unitsAlyssa Rosenzweig2019-02-271-1/+1
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Expose perf counters in environmentAlyssa Rosenzweig2019-02-273-13/+11
| | | | | | | Previously, we were guarded by an #ifdef, which is generally a bad form. This patch instead guards them behind an environmental variable. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Identify 4-bit channel texture formatsAlyssa Rosenzweig2019-02-273-0/+6
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Add RGB565, RGB5A1 texture formatsAlyssa Rosenzweig2019-02-272-0/+4
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* iris: Enable ARB_shader_draw_parameters supportJose Maria Casanova Crespo2019-02-265-4/+212
| | | | | | | | | | | | | | | | | | Additional VERTEX_ELEMENT_STATE are used to store basevertex and baseinstance and drawid updating the DWordLength of the 3DSTATE_VERTEX_ELEMENTS command. This passes all piglit tests for spec.*draw_parameters.* tests and VK-GL-CTS KHR-GL45.shader_draw_parameters_tests.* tests. Now we only mark a dirty_update when parameters are changed or when we have an indirect draw. We enable PIPE_CAP_DRAW_PARAMETERS on Iris. There is no edge flag support in the Vertex Elements setup. Reviewed-by: Kenneth Graunke <[email protected]>