| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Together with the previous commit, this generalize the benefits of
d2cf757f44f4ee5554243f3279483a25886d9927 to all depth formats, in
particular:
- simpler float -> 24unorm conversion
- avoid unsigned comparisons (not directly supported on SSE) by aligning
to the least significant bit
- avoid unecessary/repeated mask ANDing
Verified with trivial/tri-z that the exact same assembly is produced for
X8Z24.
|
| |
|
|
|
|
| |
The bug only happens on the AOS / fixed-pt path.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Z32_FLOAT uses <4 x float> as intermediate/destination type,
instead of <4 x i32>.
The necessary bitcasts got removed with commit
5b7eb868fde98388d80601d8dea39e679828f42f
Also use depth/stencil type and build contexts consistently, and
make the depth pointer argument a ordinary <i8 *>, to catch this
sort of issues in the future (and also to pave way for Z16 and
Z32_FLOAT_S8_X24 support).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
__GLcontextModes is always only used as an implementation internal struct
at this point and we shouldn't install glcore.h anymore. Anything that
needs __GLcontextModes should just include the struct in its headers files
directly.
|
|
|
|
|
|
|
|
| |
This is relying on lp_build_pack2 using the sse2 pack intrinsics which
handle clamping.
(Alternatively could have make it use lp_build_packs2 but it might
not even produce more efficient code than not using the fastpath
in the first place.)
|
| |
|
|
|
|
| |
Signed-off-by: Dave Airlie <[email protected]>
|
| |
|
| |
|
|
|
|
|
| |
at the moment depth copies are failing (piglit depth-level-clamp)
so use the fallback for now until get some time to investigate.
|
|
|
|
| |
this changes size on 32/64 bit so is definitely no what you want to use here.
|
|
|
|
| |
fixes segfaults
|
|
|
|
|
| |
this mirror changes in r300g, bpt is kinda useless when it comes to some
of the non-simple texture formats.
|
| |
|
| |
|
|
|
|
| |
just a cleanup step towards tiling
|
| |
|
|
|
|
| |
completely removed them.
|
|
|
|
|
| |
this thing will be in the cache a lot, so having massive big struct
arrays inside it won't be helping anyone.
|
|
|
|
|
|
| |
Fixes this GCC warning.
tdfx_texman.c: In function 'tdfxTMMoveOutTM_NoLock':
tdfx_texman.c:897: warning: unused variable 'shared'
|
|
|
|
| |
also fixup framebuffer state copies to avoid bad state.
|
|
|
|
|
| |
gallium calls them scissors, but r600 hw like r300 is better off using
cliprects to implement them as we can turn them on/off a lot easier.
|
| |
|
|
|
|
|
|
|
| |
Fixes this GCC warning.
r300_state.c: In function 'r300InvalidateState':
r300_state.c:2247: warning: 'hw_format' may be used uninitialized in this function
r300_state.c:2247: note: 'hw_format' was declared here
|
| |
|
|
|
|
|
| |
There's no apparent reason for the former to exist. And they didn't
even have the same value.
|
| |
|
|
|
|
|
| |
There seems to be no reason for it, so do same math for both
(except the scale mul, of course).
|
| |
|
| |
|
|
|
|
|
| |
This adds proper support for the GL_ARB_shader_stencil_export extension
to the GLSL compiler. Thanks to Ian for pointing out where I need to add things.
|
| |
|
| |
|
|
|
|
|
|
| |
If the pipe driver has shader stencil export we can accelerate DrawPixels
using it. It tries to pick an S8 texture and works its way to X24S8 and S8X24
if that isn't supported.
|
|
|
|
|
|
|
| |
We need a texture to put the drawpixels stuff into, an S8 texture is less
memory/bandwidth than the 32-bit X24S8, but we might not be able to render
directly to an S8, so this lets us specify we won't be rendering to this
texture.
|
|
|
|
|
|
| |
this allows softpipe to be used to test shader stencil ref exporting.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this improves mesa texstore for 8/24 so it can create S24X8/X24S8 variants
by keeping the depth bits static.
it also adds a texstore for S8 so we can write out an S8 texture to use
in the sampler for accel draw pixels to save memory bw.
The logic seems sound here, I've worked it out a few times on paper, though
it would be good to have some review.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
this is needed to add support for stencil shader export.
Signed-off-by: Dave Airlie <[email protected]>
|
| |
|
|
|
|
| |
Has similiar use cases to the S8X24 and X24S8 formats.
|
|
|
|
|
|
| |
these formats are needed for hw that can sample and write stencil values.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
this adds the capability + a stencil semantic id, + tgsi scan support.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
| |
There was a check to only do the rebase if we didn't have everything
in VBOs, but nexuiz apparently hands us a mix of VBOs and arrays,
resulting in blocking on the GPU to do a rebase.
Improves nexuiz 800x600, high-settings performance on my Ironlake 41%
(+/- 1.3%), from 14.0fps to 19.7fps.
|