| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Just noticed this could be slightly shortened when fixing MSVC build.
Trivial.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
If reg->Register.Indirect is true then the immediate is not truly a
constant LLVM expression.
There is no performance regression in using LLVMBuildBitCast, as it will
fallback to LLVMConstBitCast internally when the argument is a constant.
Reviewed-by: Roland Scheidegger <[email protected]>
Reviewed-by: Zack Rusin <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were incorrectly computing the buffer offset when using the
instances. The buffer offset is always equal to:
start_instance * stride + (instance_num / instance_divisor) *
stride
We were completely ignoring the start instance quite
often producing instances that completely wrong, e.g. if
start instance = 5, instance divisor = 2, then on the first
iteration it should be:
5 * stride, not (5/2) * stride as we'd have currently, and if
start instance = 1, instance divisor = 3, then on the first
iteration it should be:
1 * stride, not 0 as we'd have.
This fixes it and adjusts all the code to the changes.
Signed-off-by: Zack Rusin <[email protected]>
|
|
|
|
|
|
|
|
| |
clipper invocations are computed earlier (of course
before the emittion) so this code was adding bogus
numbers to already computed clipper invocations.
Signed-off-by: Zack Rusin <[email protected]>
|
|
|
|
|
|
|
| |
We'll be reusing this code so lets put it in a common file
and use it in the draw module.
Signed-off-by: Zack Rusin <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Integers could easily overflow is the starting instance
was large enough. Instead of letting bogus counts through
set the instance to max if it overflown and let our
regular buffer overflow computation handle it.
Signed-off-by: Zack Rusin <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Our buffer overflow arithmetic was susceptible to integer
overflows which was the buffer overflow logic to break.
Lets use the llvm overflow intrinsics to check for integer
overflows while computing the stride/needed buffer size.
Signed-off-by: Zack Rusin <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
We weren't taking into account the size of element
that is to be fetched, which meant that it was possible
to overflow the buffer reads if the stride was very
close to the end of the buffer, e.g. stride = 3, buffer
size = 4, and the element to be read = 4. This should
be properly detected as an overflow.
Signed-off-by: Zack Rusin <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The only reason the checks existed were paranoia, when I first
wrote the code I wasn't sure it was correct. Now that I am,
the asserts triggered when XBMC was dropping frames, so remove it.
NOTE: This is a candidate for the 9.1 branch.
|
|
|
|
|
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=63520
NOTE: This is a candidate for the stable branches.
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
| |
The assembly parser can be used to load r300 assembly dumps
and run them through any of the r300 compiler passes.
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allows MSAA colorbuffers, which have a CMASK automatically and don't
need any further special handling, to be fast cleared. Instead
of clearing the buffer, set the clear color and the CMASK to the
cleared state.
Fast clear is used only when all bound colorbuffers fulfill certain
conditions: a CMASK is required, we have to be able to create a clear
color value for the format and the texture mustn't contain multiple
images. Technically, it should be possible to support array textures
and cubemaps if all images are attached to the framebuffer,
but this does not appear to be common.
v2: fix fast clear check
v3: Marek: - disable fast clear with 128-bit formats, which are unsupported
- set tex->dirty_level_mask in r600_clear, so that the driver knows
the resource must be decompressed/expanded
- return early from r600_clear if there's nothing else to do
Signed-off-by: Marek Olšák <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Alex Deucher <[email protected]>
Tested-by: Tom Stellard <[email protected]>
|
|
|
|
| |
v2: check desc->is_mixed in util_format_is_snorm
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
b04a295a4a0cd2defe352b3193b5fa79ca8fc9fc removed seemingly unnecessary
code in get_query. Turns out this code could in fact be reached - while
timestamps are always binned, if there are no bins (which happens if fb
size is 0) then the rasterization query code filling this in is still
never executed.
So fix this up by filling in some timestamp, but do it at EndQuery time
not GetQuery time which should be more appropriate.
Makes piglit arb_timer_query-timestamp-get happy again.
Reviewed-by: Jose Fonseca <[email protected]>
|
| |
|
|
|
|
|
|
| |
Causes GPU hangs.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
| |
Requires updated llvm.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
|
| |
Use the golden values for each asic.
Todo: update Kabini and Kaveri.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
| |
Needs to be and is set by the kernel.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
| |
Will be used for asic specific pm4 behavior.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
| |
On CIK, DB switches back to using per-surface tiling
parameters rather than the tile index used on SI.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
| |
note which packets are removed and add new ones.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
| |
Add the infrastructure to differentiate them.
Just treat them like SI for now.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
| |
Covers the entire family.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Broken since 2840bec56f79347b95dec5458b20d4a46d1aa445 when opencl is
disabled.
|
|
|
|
|
|
| |
And allocate the correct amount before dispatching the kernel.
Tested-by: Aaron Watry <[email protected]>
|
|
|
|
| |
Tested-by: Aaron Watry <[email protected]>
|
|
|
|
| |
Reviewed-by: Jose Fonseca <[email protected]>
|
|
|
|
|
|
|
| |
Safer in case the PIPE_SHADER_x tokens get renumbered (as Marek
wanted to do).
Reviewed-by: Jose Fonseca <[email protected]>
|
|
|
|
| |
Use variables that are easier to remember what they are.
|
|
|
|
| |
We can derive it from enabled_mask.
|
|
|
|
| |
Add loops that will be optimized away.
|
|
|
|
| |
They are similar, so clean them up to make them look similar.
|
|
|
|
|
| |
The new names match those of ilo_context's members respectively, and are
shorter.
|
|
|
|
| |
Re-emit 3DSTATE_INDEX_BUFFER to enable/disable primitive restart.
|
|
|
|
| |
Set pipe_draw_info to NULL after draw_vbo().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was just ignored (unless for some reason like unfilled polys draw was
handling this).
I'm not convinced of that code, putting the float for the clamp in the key
isn't really a good idea. Then again the other floats for depth bias are
already in there too anyway (should probably have a jit_context for the
setup function), so this is just a quick fix.
Also, the "minimum resolvable depth difference" used isn't really right as it
should be calculated according to the z values of the current primitive
and not be a constant (of course, this only makes a difference for float
depth buffers), at least for d3d10, so depth biasing is still not quite right.
Reviewed-by: Jose Fonseca <[email protected]>
|
|
|
|
|
| |
timestamp queries are always binned in an active scene, therefore
always have a result.
|
|
|
|
|
|
|
|
|
| |
If there are queries active the opaque optimization reseting the bin needs to
be disabled.
(Not really tested since the bug was discovered by code inspection not
an actual test failure.)
Reviewed-by: Jose Fonseca <[email protected]>
|