| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Tested-by: Dieter Nützel <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When texture buffers are used as images in compute shaders, the guest
never sees the modified data since the TBO is always marked as clean.
Fixes most dEQP-GLES31.functional.image_load_store.buffer.* tests.
Example test cases:
dEQP-GLES31.functional.image_load_store.buffer.load_store.r32ui
dEQP-GLES31.functional.image_load_store.buffer.qualifiers.coherent_r32f
dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret.rgba8_rgba8ui
Note: virglrenderer side patch also needed to bind TBOs correctly
Reviewed-by: Dave Airlie <[email protected]>
|
|
|
|
| |
Reviwed-by: Gert Wollny <[email protected]>
|
|
|
|
| |
Reviwed-by: Gert Wollny <[email protected]>
|
|
|
|
|
|
| |
v2: add max image samples support
Reviwed-by: Gert Wollny <[email protected]>
|
|
|
|
|
|
|
| |
Fixes: d0bed0b4944d ("etnaviv: support HI performance counters")
Cc: [email protected]
Signed-off-by: Christian Gmeiner <[email protected]>
Reviewed-by: Chris Healy <[email protected]>
|
| |
|
|
|
|
|
|
| |
This matches what CLIF parsing expects, and makes
TILE_BINNING_MODE_CONFIGURATION_COMMON_CONFIGURATION into a much more
legible TILE_BINNING_MODE_CFG_COMMON.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This makes us match up with the V3D HW team's names a bit more.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This should be some simpler memcpying at draw time, and makes the next
change easier.
|
|
|
|
|
|
|
|
|
|
| |
I copied this value from radeonsi, but it was wrong, 1024
seems to be correct answer from looking at gpuinfo.
This should fix a few compute shader related hangs. (at least in CTS)
Cc: <[email protected]>
(airlied: pushed because it avoids hangs)
|
|
|
|
|
|
| |
Somehow this got lost from the initial MSAA patch.
Signed-off-by: Rob Clark <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid serializing, this has the user constant buffer always be 65536
bytes and enabled unless it's required that something else is used for
constant buffer 0.
Fixes artifacts with at least XCOM: Enemy Within, 0 A.D. and Unigine
Valley, Heaven and Superposition.
v2: changed uniform_buffer_bound to be bool instead of a uint32_t
v3: remove magic constants
v3: remove pointless code in nvc0_validate_driverconst
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100177
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.*
|
|
|
|
|
| |
Reported-by: Rob Clark <[email protected]>
Fixes: e92959c4e03c ("v3d: Pass the whole clif_dump structure to v3d_print_group().")
|
|
|
|
|
|
|
|
|
|
| |
We no longer have semi-custom clear pipe that uses 3d state. Normal
clears happen via hw blitter, and everything else uses u_blitter these
days. So we don't need this hack.
TODO a3xx+a4xx could get same treatment.
Signed-off-by: Rob Clark <[email protected]>
|
|
|
|
| |
Signed-off-by: Rob Clark <[email protected]>
|
|
|
|
|
| |
Fixes: 868ca81c and f485e567
Signed-off-by: Rob Clark <[email protected]>
|
|
|
|
| |
Trivial.
|
|
|
|
| |
Trivial.
|
|
|
|
| |
Trivial.
|
|
|
|
| |
Trivial.
|
|
|
|
|
| |
The parser wants to see a 1 or 0. We can put "true" and "false" in a
comment to clarify that it's a boolean and the parser will skip it.
|
|
|
|
| |
Now all the printing happens from the same worklist processing.
|
|
|
|
|
| |
The clif dumper is going to need information about all of our BOs if we're
going to dump them for replay purposes.
|
|
|
|
|
|
| |
To generate CLIF files that the v3dv3 simulator can parse, we're going to
need to decode addresses, and for that we'll need the vaddr lookup
function from the clif structure from within v3d_decoder.
|
|
|
|
|
|
|
|
| |
This will be used by indirect multidraws.
v2: clean up the function further, change return types to unsigned
Reviewed-by: Eric Anholt <[email protected]> (v1)
|
|
|
|
|
|
| |
Used by C++ code such as Haiku's renderer.
Reviewed-by: Brian Paul <[email protected]>
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem 1: u_debug_stack_android.cpp transitively included
"pipe/p_compiler.h", but src/gallium/include was missing from the C++
include path.
Problem 2: Add -std=c++11 to AM_CXXFLAGS. Android's libbacktrace headers
require C++11, but the Android toolchain (at least in the Chrome OS SDK)
does not enable C++11 by default.
v2: Add -std=c++11.
Reviewed-by: Gurchetan Singh <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Tomasz Figa <[email protected]>
Cc: Eric Engestrom <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Trigger waiter condition variable.
Passes 'events' CTS on carrizo and turks.
v2: reduce to 0
Cc: [email protected]
Signed-off-by: Jan Vesely <[email protected]>
Reviewed-by: Francisco Jerez <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's OK to pass them in memory, which is what kernel invocation needs.
Fixes regressions since llvm r337535 ("Reapply "AMDGPU: Fix handling of alignment padding in DAG argument lowering"):
scalar-arithmetic-char
scalar-arithmetic-uchar
scalar-arithemtic-short
scalar-arithmetic-ushort
scalar-comparison-char
scalar-comparison-uchar
scalar-comparison-short
scalar-comparison-ushort
Cc: [email protected]
Signed-off-by: Jan Vesely <[email protected]>
Reviewed-by: Francisco Jerez <[email protected]>
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
I've seen cases where a color buffer is bound, but only Z is written, and
we end up storing color.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When this bit was added, it seems the some initialization code
was omitted by mistake.
Since stack-variables have kinda random contents, and we don't
zero initialize the whole struct in these code-paths, we end up
getting random-ish values for this bit.
Spotted by Coverity in the following CIDs:
- 1438115
- 1438123
- 1438130
Fixes: 70425bcfe63c4e9191809659d019ec4af923595d ("gallium: plumb
invariant output attrib thru TGSI")
Signed-off-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Jakob Bornecrantz <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems the hardware always expects floating point border color values
[0,1] for unsigned, and [-1,1] for signed texture component, regardless
of pixel type, but the border colors are passed according to texture
component type. Hence, before submitting the border color, convert and
scale it these ranges accordingly.
This doesn't seem to work for textures with 32 bit integer components
though, here, it seems that the border color is always set to zero,
regardless of the BORDER_COLOR_TYPE state set in Q_TEX_SAMPLER_WORD0_0.
v2: Simplyfy logic as suggested by Roland Schneidegger
Fixes:
dEQP-GLES31.functional.texture.border_clamp.formats.compressed*
dEQP-GLES31.functional.texture.border_clamp.formats.r* (non 32 bit integer)
dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d*
and a number of piglits out of
piglit run gpu -t texture -t gather -t formats
Signed-off-by: Gert Wollny <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
we need rounding modes on other conversions involving floats and it is easier
to rename f2f16_undef than renaming all the other ones.
v2: rebased on master
Reviewed-by: Jason Ekstrand <[email protected]>
Acked-by: Rob Clark <[email protected]>
Signed-off-by: Karol Herbst <[email protected]>
|
|
|
|
| |
before LLVM target machines are created
|
|
|
|
|
|
| |
Now we do full S3TC decompression they should no longer fail.
Reviewed-by: Roland Scheidegger <[email protected]>
|