Age | Commit message (Collapse) | Author |
|
|
|
This reverts commit 5cdedaaf295acae13ac10feeb3143d83bc53d314.
https://bugs.freedesktop.org/show_bug.cgi?id=30002
Conflicts:
src/gallium/drivers/r300/r300_texture.c
|
|
Even though MIP filtering is not supported, we can bind an arbitrary mipmap
as the zero mipmap level.
NPOT textures now follow GL_TEXTURE_BASE_LEVEL and GL_TEXTURE_MIN_LOD.
This fixes piglit/fbo-copyteximage.
|
|
Searched for them with:
git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D'
Behavior hasn't been changed.
|
|
This implements fast Z clear, Z compression, and HiZ support for r300->r500
GPUs.
It also allows cbzb clears when fast Z clears are being used for the ZB.
It requires a kernel with hyper-z support.
Thanks to Marek Olšák <maraeo@gmail.com>, who started this off, and Alex Deucher at AMD for providing lots of hints.
v2:
squashed zmask ram size fix]
squashed r300g/blitter: fix Z readback when compressed]
v3:
rebase around texture changes in master - .1 fix more bits
v4:
migrated to using u_mm in r300_texture to manage hiz/zmask rams consistently
disabled HiZ when using OQ
flush z-cache before turning hyper-z off
update hyper-z state on dsa state change
store depthclearvalue across cbzb clears and replace it afterwards.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Because the hw can't sample it, I reinterpret the format as G16R16 and
sample the G component. This gives 16 bits of precision, which should be
enough for depth texturing (surprisingly, the sampled values are exactly
the same as in D16 textures).
This also enables EXT_packed_depth_stencil on those old chipsets, finally.
|
|
|
|
This decouples initializing a texture layout/miptree description
from an actual texture creation, it also partially unifies texture_create
and texture_from_handle.
r300_texture inherits r300_texture_desc, which inherits u_resource.
The CBZB clear criteria are moved to r300_texture_desc::cbzb_allowed[level].
And other minor cleanups.
|
|
The driver gets a buffer and its size in resource_from_handle.
It computes the required minimum buffer size from given texture
properties, and compares the two sizes.
This is to early detect DDX bugs.
|
|
|
|
I don't remember why the alignment was there, but it seems to be
no longer needed. I guess it was a dirty fix for some other bug.
|
|
|
|
An initial implementation made by Dave Airlie.
For it to be used, a color-only clear must be invoked and exactly one
point-sampled render target must be set. The render target must be
macrotiled (for us to overcome alignment issues) and bpp must be either
16 or 32.
I can't see a difference in performance. :(
Conflicts:
src/gallium/drivers/r300/r300_blit.c
|
|
This fixes sluggishness in vdrift.
|
|
|
|
Conflicts:
src/gallium/state_trackers/egl/x11/native_dri2.c
src/gallium/state_trackers/egl/x11/native_x11.c
src/gallium/state_trackers/egl/x11/native_x11.h
src/gallium/state_trackers/xorg/xorg_driver.c
src/gallium/winsys/radeon/drm/radeon_drm.c
|
|
|
|
|
|
|
|
Need to just add the resolve, then go switch to new DRM and test.
|
|
I could *not* let this slide since I'm on a 78-char-wide terminal.
|
|
|
|
|
|
|
|
This is a secret texture format, do not tell anybody.
And it looks like we can read stencil in the shader too.
|
|
I hope I've done it right. No way to test it here...
|
|
|
|
|
|
|
|
to match what DDX sets. This prevents some flushes from occuring.
|
|
The regression has first shown up after this state tracker change:
b0427bedde80e3189524651a327235bdfddbc613.
FDO bug #28082.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We still need to wait for state tracker support.
|
|
|
|
I accidentally inverted the condition. :(
Broken since the commit 2579fe4044012a552c8be222ffae76b48de13592.
FDO bug #27851.
|
|
|
|
|
|
It saves a few libdrm calls and unnecessary flushes.
|
|
It seems to me that the resource management code is the most blurry.
Also some of my notes about fastfill are wrong, removing them too.
|
|
notiling = Disable texture tiling
noimmd = Disable immediate mode (this optimization was really worth it!)
|
|
|
|
This is a bug in the CS checker causing CS being rejected.
|
|
|