summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* intel/fs: Set up FB write message headers in the visitorJason Ekstrand2018-06-282-83/+86
| | | | | | | | | | | Doing instruction header setup in the generator is awful for a number of reasons. For one, we can't schedule the header setup at all. For another, it means lots of implied writes which the instruction scheduler and other passes can't properly read about. The second isn't a huge problem for FB writes since they always happen at the end. We made a similar change to sampler handling in ff4726077d86. Reviewed-by: Matt Turner <[email protected]>
* intel/fs: Fix implied_mrf_writes() for headerless FB writes.Francisco Jerez2018-06-281-1/+2
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* intel/fs: Fix fs_inst::flags_written() for Gen4-5 FB writes.Francisco Jerez2018-06-281-1/+2
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* intel/eu: Return new instruction to caller from brw_fb_WRITE().Francisco Jerez2018-06-282-21/+23
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* intel/fs: Pull FB write implied headers from src[0]Jason Ekstrand2018-06-281-9/+6
| | | | | | | | Now that we have the implied header in src[0] for tracking purposes, we may as well use it in the generator. This makes things a tiny bit more general. Reviewed-by: Matt Turner <[email protected]>
* intel/fs: Properly track implied header regs read by FB writesJason Ekstrand2018-06-281-1/+16
| | | | | | | | The FB write opcode on gen4-5 does implied copies from g0 and g1 to the message payload. With this commit, we start tracking that as part of the IR by having the FB write read from g0-1. Reviewed-by: Matt Turner <[email protected]>
* intel/fs: FS_OPCODE_REP_FB_WRITE has side effectsJason Ekstrand2018-06-281-0/+1
| | | | | | | It doesn't matter since we don't ever run replicated write shaders through the optimizer but it's good to be complete. Reviewed-by: Matt Turner <[email protected]>
* docs: Add news item for mesa 18.1.2Dylan Baker2018-06-281-0/+6
| | | | | | Which I forgot to do when 18.1.2 came out. Signed-off-by: Dylan Baker <[email protected]>
* nvc0: remove magic values in nve4_set_tex_handles()Rhys Perry2018-06-281-1/+1
| | | | | | | | | With this commit, things no longer break if NVC0_CB_AUX_TEX_INFO is changed to anything other than 0x20. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Signed-off-by: Karol Herbst <[email protected]>
* nvc0/ir: fix TargetNVC0::insnCanLoadOffset()Rhys Perry2018-06-281-0/+1
| | | | | | | | | | | | | | Previously, TargetNVC0::insnCanLoadOffset() returned whether the offset could be set to a specific value. The IndirectPropagation pass expected it to return whether the offset could be increased by a specific value, which is what TargetNV50::insnCanLoadOffset() does. Fixes: 37b67db6ae34fb6586d640a7a1b6232f091dd812 ("nvc0/ir: be careful about propagating very large offsets into const load") Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Signed-off-by: Karol Herbst <[email protected]>
* swr/rast: Updating code style based on current clang-format rulesAlok Hota2018-06-284-253/+260
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Fix addPassesToEmitFile usage with llvm-7.0.Vinson Lee2018-06-281-0/+4
| | | | | | | | | | | | Fix build error after llvm-7.0svn r332881 ("CodeGen: Add a dwo output file argument to addPassesToEmitFile and hook it up to dwo output."). CXX rasterizer/jitter/libmesaswr_la-JitManager.lo rasterizer/jitter/JitManager.cpp:368:93: error: too few arguments to function call, expected at least 4, have 3 pTarget->addPassesToEmitFile(*pMPasses, filestream, TargetMachine::CGFT_AssemblyFile); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Handling removed LLVM intrinsics in trunkAlok Hota2018-06-281-0/+40
| | | | | | | - Functionality replaced with emulated intrinsics - Fixes Bug 106558 Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Adding SCATTERPS functionality to BuilderGfxMemAlok Hota2018-06-282-0/+19
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Adding Read/Write specifier to TranslateGfxAddress stackAlok Hota2018-06-282-27/+28
| | | | | | | - Removing unused generic translate function - Requiring read/write specifier in builder_gfx_mem Reviewed-by: Bruce Cherniak <[email protected]>
* gallium: Fix automake for Android (v2)Chad Versace2018-06-273-0/+13
| | | | | | | | | | | | | | | Chromium OS uses Autotools and pkg-config when building Mesa for Android. The gallium drivers were failing to find the headers and libraries for zlib and Android's libbacktrace. v2: - Don't add a check for zlib.pc. configure.ac already checks for zlib.pc elsewhere. [for tfiga] - Check for backtrace.pc separately from the other Android libs. [for tfiga] Reviewed-by: Tomasz Figa <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* glsl: skip comparison opt when adding vars of different sizeTimothy Arceri2018-06-281-0/+6
| | | | | | | | | | | The spec allows adding scalars with a vector or matrix. In this case the opt was losing swizzle and size information. This fixes a bug with Doom (2016) shaders. Fixes: 34ec1a24d61f ("glsl: Optimize (x + y cmp 0) into (x cmp -y).") Reviewed-by: Ian Romanick <[email protected]>
* Revert "anv: Print the actual enum for ignored structure types"Jason Ekstrand2018-06-271-3/+1
| | | | | This reverts commit fda7014c35e5f5dfa26f078ad0512d13ead8b717. It was hitting an unreachable when the sType was unknown.
* anv: Print the actual enum for ignored structure typesJason Ekstrand2018-06-271-1/+3
| | | | Reviewed-by: Tapani Pälli <[email protected]>
* i965/bufmgr: Use the correct argument order for bo_alloc_internalJason Ekstrand2018-06-271-2/+2
| | | | | | | The memzone and flags parameters were accidentally flipped in the call from brw_bo_alloc_tiled_2d. Reviewed-by: Kenneth Graunke <[email protected]>
* vulkan/wsi_common_display: Return SURFACE_LOST for fatal DRM errorsKeith Packard2018-06-271-7/+7
| | | | | | | | | | | | | Instead of encouraging the client to re-create the swapchain and keep going with an OUT_OF_DATE error, tell the client that further use of the current surface will not succeed as the associated kernel objects are no longer valid. In particular, when a DRM lease is revoked, then the client needs to get another lease and create a new surface for that. Signed-off-by: Keith Packard <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* glsl: Make sure that packed varyings reflect always_active_io properly.Eric Anholt2018-06-271-2/+7
| | | | | | | | The always_active_io flag was only set according to the first variable that got packed in, so NIR io compaction would end up compacting XFB varyings that shouldn't move at that point. Reviewed-by: Timothy Arceri <[email protected]>
* v3d: Fix Z clipping when viewport.scale[2] is negative.Eric Anholt2018-06-271-4/+6
| | | | | | Fixes: dEQP-GLES3.functional.shaders.builtin_variable.depth_range_fragment dEQP-GLES3.functional.shaders.builtin_variable.depth_range_vertex
* v3d: Convert a bunch of our "minus one" fields over to the new XML attr.Eric Anholt2018-06-276-33/+35
| | | | | This fixes up their formatting for CLIF files and makes the code more legible.
* v3d: Add pack/unpack/decode support for fields with a "- 1" modifier.Eric Anholt2018-06-273-17/+46
| | | | | | | | | | Right now, we name these fields as "field name minus one" so that your C code obviously states what the value should be. However, it's easy enough to handle at the codegen level with another little XML attribute, meaning less C code and easier-to-read values in CLIF dumping and gdb as well. (The actual CLIF format for simulator and FPGA replay takes in pre-minus-one values, so we need it there too).
* i965: small cleanup in blorp debug printing output (trivial)Tapani Pälli2018-06-271-1/+1
| | | | | Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa: add a space between headers and source (trivial)Tapani Pälli2018-06-271-0/+1
| | | | | | | There used to be one and it looks like it was removed by eb63640c1d. Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* features.txt: mark some extensions as doneTapani Pälli2018-06-271-2/+4
| | | | | Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa: Return number of result bits for GL_ANY_SAMPLES_PASSED_CONSERVATIVEDanylo Piliaiev2018-06-271-0/+1
| | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106986 Signed-off-by: Danylo Piliaiev <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* radv: use separate bind points for the dynamic buffersSamuel Pitoiset2018-06-272-3/+11
| | | | | | | | | | | | | The Vulkan spec says: "pipelineBindPoint is a VkPipelineBindPoint indicating whether the descriptors will be used by graphics pipelines or compute pipelines. There is a separate set of bind points for each of graphics and compute, so binding one does not disturb the other." CC: <[email protected]> Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: remove unused 'predicated' parameter from some functionsSamuel Pitoiset2018-06-274-25/+15
| | | | | | | It's always false. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* virgl: add ARB_texture_view supportDave Airlie2018-06-274-4/+9
| | | | Reviewed-By: Gert Wollny <[email protected]>
* nir/opt_if: Remove unneeded phis if we make progressJason Ekstrand2018-06-263-3/+11
| | | | | | | | | | Now that SSA values can be derefs and they have special rules, we have to be a bit more careful about our LCSSA phis. In particular, we need to clean up in case LCSSA ended up creating a phi node for a deref. This fixes validation issues with some Vulkan CTS tests with the new deref instructions. Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* radv: emit PIPELINESTAT_{START,STOP} events for pipeline stats queriesSamuel Pitoiset2018-06-264-2/+29
| | | | | | | | | Ported from RadeonSI. This appears to fix some random fails with: dEQP-VK.query_pool.statistics_query.* Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* glsl: serialize data from glTransformFeedbackVaryingsTapani Pälli2018-06-261-0/+20
| | | | | | | | | | While XFB has been enabled for cache, we did not serialize enough data for the whole API to work (such as glGetProgramiv). Fixes: 6d830940f7 "Allow shader cache usage with transform feedback" Signed-off-by: Tapani Pälli <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106907 Reviewed-by: Jordan Justen <[email protected]>
* radv: enable VK_EXT_shader_stencil_exportSamuel Pitoiset2018-06-262-0/+2
| | | | | | | | | | The driver already supports exporting the stencil value. The following CTS test now pass: dEQP-VK.pipeline.shader_stencil_export.op_replace Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: ignore pInheritanceInfo for primary command buffersSamuel Pitoiset2018-06-261-1/+2
| | | | | | | | | From the Vulkan spec: "If this is a primary command buffer, then this value is ignored." CC: <[email protected]> Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* i965/gen6/gs: Handle case where a GS doesn't allocate VUEAndrii Simiklit2018-06-261-21/+21
| | | | | | | | | | | | | | | | | | | | | | | We can not use the VUE Dereference flags combination for EOT message under ILK and SNB because the threads are not initialized there with initial VUE handle unlike Pre-IL. So to avoid GPU hangs on SNB and ILK we need to avoid usage of the VUE Dereference flags combination. (Was tested only on SNB but according to the specification SNB Volume 2 Part 1: 1.6.5.3, 1.6.5.6 the ILK must behave itself in the similar way) v2: Approach to fix this issue was changed. Instead of different EOT flags in the program end we will create VUE every time even if GS produces no output. v3: Clean up the patch. Signed-off-by: Andrii Simiklit <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105399 CC: <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Tested-by: Mark Janes <[email protected]>
* radeon: duplicate cmask surface for now.Dave Airlie2018-06-261-1/+61
| | | | | | | | The radeon winsys isn't linked against the ac code, I have vague memories of this causing some problems before, for now fix the build but just duplicating the code. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: rename r600_transfer -> si_transferMarek Olšák2018-06-254-25/+25
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: properly set cmask_buffer in si_reallocate_texture_inplaceMarek Olšák2018-06-251-1/+11
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: remove redundant si_texture::cmask_sizeMarek Olšák2018-06-255-34/+25
| | | | | | cmask_buffer and surface.cmask_size can replace its role. Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: inline struct r600_cmask_infoMarek Olšák2018-06-256-43/+41
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: move CMASK size computation into ac_surfaceMarek Olšák2018-06-257-85/+94
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* ac/surface: move cmask_size/alignment into radeon_surfMarek Olšák2018-06-254-16/+16
| | | | | | cmask_size is changed to uint32_t because it can't be greater than 4GB. Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: rename r600_surface -> si_surfaceMarek Olšák2018-06-254-18/+18
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: rename r600_memory_object -> si_memory_objectMarek Olšák2018-06-252-4/+4
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: remove unused r600_memory_object::offsetMarek Olšák2018-06-252-2/+0
| | | | | | The real offset is passed through resource_from_memobj. Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: unify duplicated texture_from_handle & texture_from_memobjMarek Olšák2018-06-251-81/+71
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: reorder and initialize more fields in si_reallocate_texture_inplaceMarek Olšák2018-06-251-6/+25
| | | | | | | Some fields shouldn't be initialized, like framebuffers_bound and other stats. It's hopefully complete now. Cc: 18.1 <[email protected]>