summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_texture.c
AgeCommit message (Collapse)Author
2010-09-13r300g: add new debug options for dumping scissor regs and disabling CBZB clearMarek Olšák
2010-09-04Revert "r300g: refuse to create a texture with size 0"Marek Olšák
This reverts commit 5cdedaaf295acae13ac10feeb3143d83bc53d314. https://bugs.freedesktop.org/show_bug.cgi?id=30002 Conflicts: src/gallium/drivers/r300/r300_texture.c
2010-08-28r300g: fix blitting between 2D NPOT mipmapsMarek Olšák
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.
2010-08-20gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT tooLuca Barbieri
Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed.
2010-08-05r300g: implement hyper-z support. (v4)Dave Airlie
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>
2010-07-25r300g: implement D24X8 texture sampling for r3xx-r4xxMarek Olšák
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.
2010-07-25r300g: do not use TXPITCH_EN if the width is POT and the height is NPOTMarek Olšák
2010-07-25r300g: cleanup texture creation codeMarek Olšák
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.
2010-07-25r300g: reject resources from handles which are not large enoughMarek Olšák
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.
2010-07-25r300g: cleanup texture debug loggingMarek Olšák
2010-07-25r300g: do not align texture height to 2^n for 1D and 2D non-mipmapped texturesMarek Olšák
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.
2010-07-16r300g: rebuild winsys and command submission to support multiple contextsMarek Olšák
2010-07-12r300g: implement fast color clearMarek Olšák
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
2010-07-09r300g: allow the GTT domain for samplersMarek Olšák
This fixes sluggishness in vdrift.
2010-07-08r300g: store/return the stride for winsys_handle in winsysMarek Olšák
2010-06-28Merge branch 'gallium-drm-driver-drescriptor'Jakob Bornecrantz
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
2010-06-20r300g: cleanup buffer_{from, get}_handleMarek Olšák
2010-06-20r300g: cleanup includesMarek Olšák
2010-06-20r300g: texture alignment code cleanup + use special alignment for AA texturesMarek Olšák
2010-06-16r300g: Moar MSAA setup.Corbin Simpson
Need to just add the resolve, then go switch to new DRM and test.
2010-06-16r300g: Fix indentation.Corbin Simpson
I could *not* let this slide since I'm on a 78-char-wide terminal.
2010-06-14r300g: subclass pipe_surfaceMarek Olšák
2010-06-09r300g: debug output texture sizeMarek Olšák
2010-06-09r300g: return NULL texture early if buffer_create failsMarek Olšák
2010-06-07r300g: fix 24-bit depth texturingMarek Olšák
This is a secret texture format, do not tell anybody. And it looks like we can read stencil in the shader too.
2010-06-03r300g: set the minimum texture stride to 64 bytes on RS600, RS690, and RS740Marek Olšák
I hope I've done it right. No way to test it here...
2010-06-02r300g: store the GEM domain in buffer and texture structsMarek Olšák
2010-06-02r300g: blit directly to/from GTT when transfering texturesMarek Olšák
2010-06-02r300g: let the driver determine the GEM domain for buffer_createMarek Olšák
2010-05-31r300g: set correct pitch in libdrmMarek Olšák
to match what DDX sets. This prevents some flushes from occuring.
2010-05-13r300g: fix texture transfersMarek Olšák
The regression has first shown up after this state tracker change: b0427bedde80e3189524651a327235bdfddbc613. FDO bug #28082.
2010-05-08r300g: pass depth texture swizzle to the compiler if compare mode is enabledMarek Olšák
2010-05-04r300g: Fix memory leak on error path.Vinson Lee
2010-05-04r300g: advertise S3TC only when it's available in GalliumMarek Olšák
2010-05-03r300g: use util_format_short_name and util_format_is_plainMarek Olšák
2010-05-03r300g: refuse to create a texture with size 0Marek Olšák
2010-05-03r300g: improve texture debug output, split into TEX and TEXALLOC flagsMarek Olšák
2010-04-29r300g: fix tests/yuvrect and possibly even rendering to YUV texturesMarek Olšák
2010-04-29r300g: enable the RGBA16F renderbuffer tooMarek Olšák
2010-04-29r300g: enable float texturesMarek Olšák
We still need to wait for state tracker support.
2010-04-29r300g: compose swizzles from texture formats and sampler viewsMarek Olšák
2010-04-27r300g: fix mipmapped texture3D size calculationMarek Olšák
I accidentally inverted the condition. :( Broken since the commit 2579fe4044012a552c8be222ffae76b48de13592. FDO bug #27851.
2010-04-26r300g: emit MSPOS regsMarek Olšák
2010-04-20r300g: add is_rv350 flagMarek Olšák
2010-04-18r300g: do not tell st that a buffer is referenced by hwMarek Olšák
It saves a few libdrm calls and unnecessary flushes.
2010-04-18r300g: various other cleanupsMarek Olšák
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.
2010-04-18r300g: add debugging options "notiling" and "noimmd" (for testing)Marek Olšák
notiling = Disable texture tiling noimmd = Disable immediate mode (this optimization was really worth it!)
2010-04-18r300g: always create microtiled zbuffer regardless of texture dimensionsMarek Olšák
2010-04-11r300g: fix mipmapped 3D texturesMarek Olšák
This is a bug in the CS checker causing CS being rejected.
2010-04-11r300g: support some exotic sampler formatsMarek Olšák