summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300
AgeCommit message (Collapse)Author
2010-08-11r300g: implement gl_FrontFacingMarek Olšák
2010-08-10r300g: Remove unnecessary header.Vinson Lee
2010-08-10r300/compiler: Implement hardware assisted loops for vertex shaders.Tom Stellard
Single loops work, but nested loops do not.
2010-08-09r300g: do not print shader compiler errors by defaultMarek Olšák
2010-08-09r300g: fix hiz/zmask offset emissions.Dave Airlie
ofs is in dwords, so need to shift it for registers. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-08r300g: remove a flushMarek Olšák
Ooops, it wasn't supposed to be there.
2010-08-08r300g: flush zmasks of zbuffers we are going to use as samplersMarek Olšák
It sometimes works, sometimes not. I guess we have the zmask offsets wrong.
2010-08-08r300g: do not allocate a zmask block for 3D textures and cubemapsMarek Olšák
2010-08-08r300g: take hiz/zmask offsets into a/c when clearing.Dave Airlie
Need to add a test for multi-hiz/zmask db in a single context. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-07r300g: fix cbzb clears when hyperz is offMarek Olšák
2010-08-05r300g: Remove unnecessary headers.Vinson Lee
2010-08-06r300g: do not emit GB_Z_PEQ_CONFIG on non-r500 if DRM < 2.6.0Marek Olšák
2010-08-05r300g: fix fb_state atom sizeMarek Olšák
2010-08-05r300g: always emit hyperz state atom.Dave Airlie
2010-08-05r300g: disable hiz on rv530 for now.Dave Airlie
On my rv530 at least HiZ is causing rendering issues in gears.
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-08-03r300/compiler: r500 hw support for break and continue in loops.Tom Stellard
The BGNLOOP and ENDLOOP instructions are now being used correctly, which makes break and continue possible. The deadcode pass has been modified to handle breaks, and the compiler is more careful about which loops are unrolled.
2010-08-04r300g: disable multisample visuals until the state tracker bits catch up.Dave Airlie
This stops us advertising lots of ms visuals we can't actually use. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-08-03r300g: handle polygon offset correctlyMarek Olšák
https://bugs.freedesktop.org/show_bug.cgi?id=29372
2010-08-02r300g: fix hardlock when using more than one stuffed sprite coordsMarek Olšák
If texture coordinates come from the vertex shader, there are always 4 components in the rasterizer input packet, but if the coordinates are stuffed (like for point sprites), there are only 2 or 3 components (based on GB_ENABLE) and if we rasterize more, it locks up.
2010-08-01r300g: fix microtiling on RS6xxMarek Olšák
Getting tiling right has always been tricky. There are so many subtle details...
2010-07-29r300g/swtcl: fix crash in ETQW and minor fixupsMarek Olšák
The Draw flush inside r300_flush was the culprit. Also, no need to flush Draw when changing a state since the flush is already inside swtcl_draw_vbo.
2010-07-29r300g/swtcl: fix crash after the draw_vbo mergeMarek Olšák
2010-07-29gallium: Avoid void pointer arithmetic.Chia-I Wu
This fixes fdo bug #29286.
2010-07-29gallium: Keep only pipe_context::draw_vbo.Chia-I Wu
That is, remove pipe_context::draw_arrays, pipe_context::draw_elements, pipe_context::draw_arrays_instanced, pipe_context::draw_elements_instanced, pipe_context::draw_range_elements.
2010-07-29gallium: Implement draw_vbo and set_index_buffer for all drivers.Chia-I Wu
Some drivers define a generic function that is called by all drawing functions. To implement draw_vbo for such drivers, either draw_vbo calls the generic function or the prototype of the generic function is changed to match draw_vbo. Other drivers have no such generic function. draw_vbo is implemented by calling either draw_arrays and draw_elements. For most drivers, set_index_buffer does not mark the state dirty for tracking. Instead, the index buffer state is emitted whenever draw_vbo is called, just like the case with draw_elements. It surely can be improved.
2010-07-26r300g: fix macro substitution problemDave Airlie
isn't a problem yet, but have issues in hiz branch. 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: make sure a texture is large enough for the CBZB clearMarek Olšák
The number of macrotiles in the Y direction must be even, otherwise memory corruption may happen (e.g. broken fonts). Basically, if we get a buffer in resource_from_handle, we can determine from the buffer size whether it's safe to use the CBZB clear or not.
2010-07-25r300g: do not use TXPITCH_EN if the width is POT and the height is NPOTMarek Olšák
2010-07-25r300g: do not use TXPITCH_EN for power-of-two textures from the DDXMarek Olšák
We were using TXPITCH_EN for textures from the DDX since ever, for nothing.
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-21r300g: implement depth clampMarek Olšák
Depth clamping seems to be implicit if clipping is disabled. It's not perfect, but it's good enough for wine and passes the corresponding piglit tests.
2010-07-21r300g: cleanup clip state emissionMarek Olšák
2010-07-19r300g: fix possible crash in destroy_contextMarek Olšák
The problem is destroy_context is almost NEVER called. The only test for destroy_context I know is compiz. Reported by Vinson Lee. FDO bug #29150.
2010-07-19r300g: fix typoMarek Olšák
2010-07-19r300g: use memory pools for buffer_create and get_transferMarek Olšák
The improvement in Tremulous: 68.9 fps -> 71.1 fps.
2010-07-18r300g: u_upload optimisationDave Airlie
fix vb/ib uploads
2010-07-17r300g: final fix for r3xx constant buffer emissionMarek Olšák
2010-07-17r300g: fix typo in r3xx constant buffer emissionMarek Olšák
Ooops.
2010-07-17r300g: fix constant buffer emission on r3xxMarek Olšák
FDO bug #29128.
2010-07-16r300g: Remove unnecessary header.Vinson Lee
2010-07-16r300g: inline winsys_buffer_destroyMarek Olšák
2010-07-16r300g: do not make copies of constant buffers, emit them directlyMarek Olšák
2010-07-16r300g: rebuild winsys and command submission to support multiple contextsMarek Olšák
2010-07-13r300g: do not advertise half_float_vertex on rv3x0Marek Olšák
rv3x0 can't do it.
2010-07-13r300g: extend and clean up debug loggingMarek Olšák