summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/v3d
AgeCommit message (Collapse)AuthorFilesLines
2018-07-31gallium: add PIPE_CAP_FRAMEBUFFER_MSAA_CONSTRAINTSMarek Olšák1-0/+1
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
2018-07-30v3d: Include commands to run the BCL and RCL in CLIF dumps.Eric Anholt1-10/+1
2018-07-30v3d: Rename "configuration" and "config" in the XML to "cfg"Eric Anholt4-30/+33
This matches what CLIF parsing expects, and makes TILE_BINNING_MODE_CONFIGURATION_COMMON_CONFIGURATION into a much more legible TILE_BINNING_MODE_CFG_COMMON.
2018-07-30v3d: s/colour/color in the XML.Eric Anholt3-20/+20
The CLIF format expects american english spelling, and the rest of Mesa is too. I was previously adhering to the spec's spelling, which is counterproductive.
2018-07-30v3d: Rename primitives to prims in the XML to match CLIF names.Eric Anholt2-5/+5
This makes us match up with the V3D HW team's names a bit more.
2018-07-30v3d: Add a separate flag for CLIF ABI output versus human-readable CLs.Eric Anholt1-2/+3
A few of the upcoming changes would make the V3D_DEBUG=cl output less readable, so let's make proper CLIF file production be under a separate V3D_DEBUG=clif flag.
2018-07-30v3d: Add pack header support for f187 values.Eric Anholt2-15/+5
V3D only has one of these (the top 16 bits of a float32) left in its CLs, but VC4 had many more. This gets us proper pretty-printing of the values instead of a large uint.
2018-07-30v3d: Move depth offset packet setup to CSO creation time.Eric Anholt4-33/+34
This should be some simpler memcpying at draw time, and makes the next change easier.
2018-07-29v3d: Block bin on render when doing vertex texturing.Eric Anholt1-0/+14
The kernel by default serializes the BCL on previous BCLs submitted on this FD, but not RCLs. For now this fix is conservative and blocks on last RCL if any vertex texturing is done, which fails to get bin/render overlap if there was an intermediate job that doesn't draw to the BCL's buffer. I've dropped a perf_debug() in here to note that as a potential future improvement. Fixes intermittent failures in KHR-GLES3.copy_tex_image_conversions.required.*
2018-07-27v3d: Move clif dumping to a separate step from noting where the CLs are.Eric Anholt1-0/+2
Now all the printing happens from the same worklist processing.
2018-07-27v3d: Move clif dump BO lookup into the clif dumper.Eric Anholt1-22/+15
The clif dumper is going to need information about all of our BOs if we're going to dump them for replay purposes.
2018-07-27v3d: Drop the use of the semaphores.Eric Anholt2-9/+0
The kernel's scheduler doesn't rely on our emitting them, and in fact we'd get in trouble if the kernel decided to schedule too many bins in a row before getting around to scheduling the corresponding render.
2018-07-27v3d: Drop the VG support from the XML.Eric Anholt1-2/+1
This reflects a change on the HW/closed SW side to drop this unused HW. With it dropped on their side, the CLIF parser no longer expects to find VG fields.
2018-07-27v3d: Stop using spaces in the names of our buffers.Eric Anholt3-2/+6
For CLIF dumping, we need names to not have spaces. Rather than rewriting them after the fact, just change the two cases where I had put a space in.
2018-07-26v3d: Avoid the GFXH-1461 workaround if we have only Z or only S.Eric Anholt1-4/+6
This seems like a sensible precaution to avoid extra draws. It doesn't deal with the case of a Z24S8 buffer created by the window system for an application that happens to never use S.
2018-07-26v3d: Rework the ordering of how we clear things.Eric Anholt1-31/+54
First, figure out if we can just sneak the clear into the TLB clear, even if drawing has already happened (since we have job->load and job->clear to tell us), taking into account GFXH-1461. For any pieces we can't TLB clear, fall back to drawing a quad without flushing the scene. Fixes extra scene flushes in glmark2 due to GFXH-1461.
2018-07-26v3d: Only store buffers that have been written to.Eric Anholt1-3/+9
I've seen cases where a color buffer is bound, but only Z is written, and we end up storing color.
2018-07-26v3d: Track the buffers being loaded separately.Eric Anholt3-1/+8
We were computing this at RCL generation time, but that means you can't unflag the store for an invalidate_resource, or not flag the store if writmasking is disabled.
2018-07-26v3d: Rename cleared/resolve to clear/store.Eric Anholt5-35/+35
These describe what the fields mean in RCL generation. "resolve" is left over from VC4, and sounds like MSAA resolves (which may or may not be involved in the store we generate).
2018-07-20v3d: Fix incorrect handling of two fences created back-to-back.Eric Anholt1-12/+31
Recreating our context's syncobj with ALREADY_SIGNALED meant that if you created two fences in a row, then waiting on the second would succeed immediately. Instead, export a sync file in the gallium fence (since we don't have a syncobj clone ioctl), and just create a new syncobj to wait on whenever we need to. Noticed while debugging dEQP-GLES3.functional.fence_sync.client_wait_sync_finish
2018-07-20v3d: Fix the timeout value passed to drmSyncobjWait().Eric Anholt1-1/+6
The API wants an absolute time, so we need to go add gallium's argument to CLOCK_MONOTONIC.
2018-07-20v3d: Fix drmSyncobjWait() return value checking even more.Eric Anholt1-1/+1
It tends to return >0 in the success case (I think the value is something like "how much of the timeout remained"). Fixes dEQP-GLES3.functional.fence_sync.client_wait_sync_finish
2018-07-20v3d: Use the list_first_entry/list_last_entry macros.Eric Anholt1-8/+8
2018-07-20v3d: Move BO cache counting to dump time instead of cache management.Eric Anholt2-9/+9
This is one less way to get the dump stats wrong.
2018-07-20v3d: Reduce the stale BO reclamation spam with dump_stats set.Eric Anholt1-6/+5
This was obviously meant to be when we were actually freeing a BO, not just when there was at least one BO in the list.
2018-07-20v3d: Respect a sampler view's first_layer field.Eric Anholt1-1/+3
Fixes texturing from EGL images created from cubemap faces, as in dEQP-EGL.functional.image.create.gles2_cubemap_negative_x_rgba_texture
2018-07-18v3d: Fix tiling modifier support to use the new UIF define.Eric Anholt1-3/+16
You can't use T tiled buffers on V3D 3.x and newer, it's been replaced with a newer layout shared with other hardware blocks.
2018-07-13v3d: Work around GFXH-1461 bug losing our Z/S clears.Eric Anholt1-0/+30
If you load S and clear Z or vice versa, the clear may get lost. Just fall back to drawing a quad. Fixes KHR-GLES3.packed_depth_stencil.verify_read_pixels.depth24_stencil8
2018-07-12u_blitter: Add an option to draw the triangles using an index buffer.Eric Anholt1-0/+1
For V3D, the HW will interpolate slightly differently along the shared edge of the trifan. The conformance tests manage to catch this in the nearest_consistency_* group. To get interpolation to match, we need the last vertex of the triangle to be shared. I first tried implementing draw_rectangle to do triangles instead, but that was quite a bit (147 lines) of code duplication from u_blitter, and this seems much simpler and less likely to break as u_blitter changes. Fixes dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_* on V3D. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2018-07-12v3d: Don't automatically reallocate a PERSISTENT-mapped buffer.Eric Anholt1-1/+1
I had mistakenly used the COHERENT flag, which can only be set when PERSISTENT is mapped, but isn't always. Fixes piglit bufferstorage-persistent read
2018-07-12v3d: Fix stride of 1D_ARRAY mappings.Eric Anholt1-1/+1
All of our other texture arrays will be tiled, but 1D is an array of raster mappings and we had the wrong value plugged in here. Fixes piglit getteximage-targets 1D_ARRAY
2018-07-12v3d: Fix MRT blending with independent blending disabled.Eric Anholt2-6/+14
We were only emitting the RT blend state for RT 0 and only enabling it for RT 0, when the gallium API for !independent_blend is for rt0's state to apply to all of them. Fixes piglit fbo-drawbuffers-blend-add.
2018-07-09v3d: Implement noperspective varyings on V3D 4.x.Eric Anholt3-0/+31
Fixes a bunch of piglit interpolation tests, and reduces my concern about some MSAA blit shaders with noperspective varyings.
2018-07-09v3d: Refactor flat shade/centroid flag emission.Eric Anholt1-64/+76
The logic was duplicated in a pretty gross way, when what we really need is just a helper function for stuffing the values in the packet. This will make implementing noperspective easier.
2018-07-05v3d: Fix leak of the default attributes BOs.Eric Anholt1-1/+10
The GLES3 CTS makes a lot more progress on a run now.
2018-07-05v3d: Fix leak of the spill BO on context destruction.Eric Anholt1-0/+2
2018-07-05v3d: Skip emitting per-RT blend state for RTs with blend disabled.Eric Anholt1-2/+8
Cleans up the CL of fbo-drawbuffers2-blend a bit. We could do better on more complicated cases by noticing if multiple RTs have the same blend state and emitting them in a single packet.
2018-07-05v3d: Add proper support for GL_EXT_draw_buffers2's blending enables.Eric Anholt4-25/+46
I had flagged it as enabled on V3D 4.x, but not actually implemented the per-RT enables. Fixes piglit fbo_drawbuffers2-blend.
2018-07-02v3d: Claim PIPE_CAP_TGSI_CAN_READ_OUTPUTS.Eric Anholt1-0/+1
Fixes warning at screen creation. We store our outputs in normal temps and just emit them to shader I/O at the end, due to our I/O ordering requirements, so reading "outputs" in NIR is fine.
2018-07-02v3d: Emit a TF flush after each draw using TF.Eric Anholt1-0/+7
This fixes GPU hangs on 7278 in transform feedback tests such as GTF-GLES3.gtf.GL3Tests.transform_feedback2.transform_feedback2_basic
2018-06-29v3d: Add missing "number of bin tile lists" field.Eric Anholt1-0/+1
Noticed when trying to feed our dumps through the CLIF parser. Since this is a "minus one" field, we were already filling in the value we wanted (0).
2018-06-29v3d: Rewrite the color write masks to match CLIF format.Eric Anholt1-18/+6
The render_target_* fields gave us pretty(ish) printing, but meant we were incompatible with CLIF, and had much more verbose code generating them.
2018-06-29gallium/util: remove dummy function util_format_is_supportedMarek Olšák1-2/+1
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
2018-06-27v3d: Fix Z clipping when viewport.scale[2] is negative.Eric Anholt1-4/+6
Fixes: dEQP-GLES3.functional.shaders.builtin_variable.depth_range_fragment dEQP-GLES3.functional.shaders.builtin_variable.depth_range_vertex
2018-06-27v3d: Convert a bunch of our "minus one" fields over to the new XML attr.Eric Anholt3-9/+11
This fixes up their formatting for CLIF files and makes the code more legible.
2018-06-22st,ir3,radeonsi: push lower_deref_instrs back into driverRob Clark1-1/+0
vc4+vc5 is not really effected by the deref chain to deref instr conversion, so it no longer needs this pass. For others, now that all the passes mesa/st uses are using deref instructions, push the lowering to deref chains back into driver. Signed-off-by: Rob Clark <robdclark@gmail.com> Acked-by: Rob Clark <robdclark@gmail.com> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Acked-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2018-06-22anv,i965,radv,st,ir3: Call nir_lower_deref_instrsJason Ekstrand1-0/+1
This inserts a call to nir_lower_deref_instrs at every call site of glsl_to_nir, spirv_to_nir, and prog_to_nir. Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Acked-by: Rob Clark <robdclark@gmail.com> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Acked-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2018-06-21v3d: Don't forget to initialize the buffer offset of a new winsys handle.Eric Anholt1-0/+1
2018-06-20v3d: Fix min vs mag determination when not doing mip filtering.Eric Anholt1-2/+10
Fixes all 128 failing tests in dEQP-GLES3.functional.texture.filtering.*.combinations
2018-06-20v3d: Track write reference to the separate stencil buffer.Eric Anholt1-1/+16
Otherwise, a blit from separate stencil may fail to flush the job that initialized it, or new drawing could fail to flush a blit reading from stencil. Fixes: dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_basic dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_scale dEQP-GLES3.functional.fbo.blit.depth_stencil.depth32f_stencil8_stencil_only dEQP-GLES3.functional.fbo.msaa.2_samples.depth32f_stencil8 dEQP-GLES3.functional.fbo.msaa.4_samples.depth32f_stencil8