summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/svga
Commit message (Collapse)AuthorAgeFilesLines
* svga: Use the correct element size.José Fonseca2011-07-011-1/+1
| | | | | | Instead of always using the first element's size. This fixes flashing floor on CINEBENCH R10.
* svga: Fix multiple uploads of the same user-buffer.Thomas Hellstrom2011-07-013-30/+90
| | | | | | | | If a user-buffer was referenced twice by a draw command, the affected ranges were uploaded separately, with only the last one being referenced by the hardware. Make sure we upload only a single range. Signed-off-by: Thomas Hellstrom <[email protected]>
* svga: Ignore redefine_user_buffer callsThomas Hellstrom2011-07-011-15/+2
| | | | | | | | We currently always treat contents of user-buffers as volatile so we don't need to take any particular action when the state tracker announces that the contents has changed. Signed-off-by: Thomas Hellstrom <[email protected]>
* svga: fix incorrect user buffer size computation for instance divisor caseBrian Paul2011-07-011-3/+3
| | | | See preceeding commit for more info.
* svga: fix incorrect user buffer size computationBrian Paul2011-07-011-1/+3
| | | | | | | | | | Viewperf uses some unusual vertex arrays where the stride is less than the element size. In this case, the stride was 4 while the element size was 12. The difference of 8 bytes causes us to miss uploading the tail bit of the array data. Typically the stride is >= the element size so there was no problem with other apps.
* svga: Handle null buffers in svga_buffer_is_user_buffer().José Fonseca2011-07-011-1/+5
|
* gallium/svga: Upload only parts of user-buffers that we actually useThomas Hellstrom2011-07-016-71/+208
| | | | | | | | | | Stream user buffer contents rather than trying to maintain persistent host / hardware copies. Resulting negative array offsets are not allowed by the hardware, (well, at least not according to header files), so adjust index bias to make all array offsets positive. Signed-off-by: Thomas Hellstrom <[email protected]>
* gallium/svga: Make use of u_upload_flush().Thomas Hellstrom2011-07-012-2/+10
| | | | | | This enables us to pack more data into single upload buffers. Signed-off-by: Thomas Hellstrom <[email protected]>
* svga: Flush when switching between HW to SW TNL, after updating need_swtnl.José Fonseca2011-07-012-11/+15
| | | | | Also, only flush when going from HW TNL to SW TNL, given it is impossible for the buffers resulting from SWTNL to be ever referred by HW TNL path.
* svga: fix typos, update commentsBrian Paul2011-06-081-7/+5
|
* svga: emit user-defined clip plane stateBrian Paul2011-04-273-11/+26
| | | | User-defined clip planes were a swtnl fallback before.
* svga: fix warning: ‘uc.ui’ may be used uninitialized in this functionMarek Olšák2011-04-271-1/+1
| | | | | This is safe because it's initialized if buffers & PIPE_CLEAR_COLOR and probably doesn't have any effect otherwise.
* gallium: add fallback for copying buffers to all driversMarek Olšák2011-04-211-0/+9
| | | | | | Just to keep drivers working. Reviewed-by: Jakob Bornecrantz <[email protected]>
* svga: defined QSZ in terms of SVGA3D_MAX_DRAW_PRIMITIVE_RANGESBrian Paul2011-04-131-1/+3
|
* svga: define SVGA3D_MAX_DRAW_PRIMITIVE_RANGES and update commentsBrian Paul2011-04-131-4/+12
|
* svga: Rebind framebuffer and tss bindings strictly when necessary.José Fonseca2011-04-126-26/+45
| | | | | | | | | | The earlier change to ensure rendertargets and textures are always rebound at every command buffer start had the downside of making successive flushes no longer no-ops, as a command buffer with merely the rebinding commands were being unnecessarily sent to the vGPU. This change only re-emits the bindings when necessary, by keeping track of the need to rebind outside of the dirty state update mechanism.
* svga: another tweak to adjust_x term (use -0.5)Brian Paul2011-04-071-1/+1
|
* gallium: set PIPE_CAP_MIXED_COLORBUFFER_FORMATS in some driversMarek Olšák2011-04-011-0/+2
|
* svga: adjust triangle rasterization offsetBrian Paul2011-03-241-1/+1
| | | | Fixes minor sub-pixel positioning error in some apps.
* svga: Avoid synchronizing when doing piecewise upload of textures.José Fonseca2011-03-211-7/+8
|
* svga: Undo the DMA buffer size limiting.José Fonseca2011-03-211-13/+2
| | | | | | | Move this to the winsys, given it is not a virtual device limitation, but a limitation specific to certain winsyses. Also update debug message.
* svga: Leave any_user_vertex_buffers flag alone.José Fonseca2011-03-162-3/+0
| | | | | It is pointless to change, now that we don't replace user vertex buffer with uploaded copy, per commit 52e598d200108ab9cfc9c9d828bbebdc576e9703.
* svga: Hardcode SVGA_COMBINE_USERBUFFERS to 1.José Fonseca2011-03-165-38/+12
| | | | | | | | The code no longer supports otherwise -- it relies on buffers being uploaded via u_upload_mgr -- so make this clear. Also, there's no need to flush after draws from user buffers, given all user content should have been copied by then.
* svga: Use transfer information on buffer transfers.José Fonseca2011-03-162-107/+81
| | | | | | | | Should prevent the assert failure svga_buffer_flush_mapped_range: Assertion `sbuf->map.writing' failed. on nested transfers.
* svga: Tell the host to discard when doing writes without FLUSH_EXPLICIT.José Fonseca2011-03-151-3/+10
|
* svga: Update svga_winsys_screen::buffer_map comments.José Fonseca2011-03-151-2/+2
|
* svga: Ensure DMA commands are serialized with unsynchronized flag is unset.José Fonseca2011-03-153-19/+113
|
* gallium: remove flags from the flush functionMarek Olšák2011-03-112-19/+16
| | | | | | | | | | The drivers have been changed so that they behave as if all of the flags were set. This is already implicit in most hardware drivers and required for multiple contexts. Some state trackers were also abusing the PIPE_FLUSH_RENDER_CACHE flag to decide whether flush_frontbuffer should be called. New flag ST_FLUSH_FRONT has been added to st_api.h as a replacement.
* gallium: remove the geom_flags param from is_format_supportedMarek Olšák2011-03-111-2/+1
|
* gallium: cleanup fence_signalled and fence_finishMarek Olšák2011-03-112-8/+6
| | | | So that they don't have the driver-specific param and return type.
* gallium: kill is_resource_referencedMarek Olšák2011-03-113-64/+0
| | | | Only st/xorg used it and even incorrectly with regards to pipelined transfers.
* svga: Propagate discard/unsynchronized flags to the host when doing texture ↵José Fonseca2011-03-113-12/+38
| | | | DMAs.
* Revert "gallium/svga: Only upload parts of vertexarrays that are actually used"Thomas Hellstrom2011-03-105-48/+3
| | | | | | | | This reverts commit 6d4e337f3890105c7d8a2f132412c137d2570d25. The commit is incorrect. I'll rework it. Revert for now. Signed-off-by: Thomas Hellstrom <[email protected]>
* gallium/svga: Only upload parts of vertexarrays that are actually usedThomas Hellstrom2011-03-105-3/+48
| | | | | | | Make sure we only upload parts of vertex arrays that are actually used by a draw command. Signed-off-by: Thomas Hellstrom <[email protected]>
* svga: Add a new winsys entry point to query the hw version.José Fonseca2011-03-093-0/+11
|
* gallium/svga: Don't replace user vertex buffer with uploaded copyThomas Hellstrom2011-03-091-1/+2
| | | | | | | | | Do that later on when we set up the hwtnl state instead. This addresses a problem when we drop the uploaded copy due to a vb size change, it will remain referenced in svga->curr.vb[], and the new contents of the vb will never be uploaded. Signed-off-by: Thomas Hellstrom <[email protected]>
* gallium: add timeout parameter to fence_finishMarek Olšák2011-03-082-2/+4
| | | | | This is a follow-up to the ARB_sync patch for st/mesa and completes the ARB_sync implementation.
* svga: reduce MAX_DMA_SIZE to 4MBBrian Paul2011-03-011-1/+1
|
* svga: add assertions in svga_shader_type()Brian Paul2011-02-281-2/+5
|
* svga: Ensure rendertargets and textures are always rebound at every command ↵José Fonseca2011-02-244-9/+138
| | | | | | | | buffer start. The svga_update_state() mechanism is inadequate as it will always end up flushing the primitives before processing the SVGA_NEW_COMMAND_BUFFER dirty state flag.
* svga: Remove some remaining fake S3TC rendering support.José Fonseca2011-02-211-4/+0
|
* svga: Fix NULL dereference.José Fonseca2011-02-183-7/+9
| | | | Probably introduced with the surface view move from screen to context.
* svga: Ensure pending drawing commands other surface operations are emitted ↵José Fonseca2011-02-188-17/+40
| | | | | | | | | before DMAs. This behavior was last when moving the transfers to the contexts. This fixes several piglit failures, which were reading the color renderbuffer before the draw operations were emitted.
* svga: Cannot use negate or abs on source to dsx/dsy instructions.José Fonseca2011-02-181-1/+19
|
* svga: Ensure SWTNL is created after HWTNL.José Fonseca2011-02-181-5/+4
| | | | | Matches the internal driver layering, and prevents null svga->hwtnl dereferencing from inside the swtnl.
* svga: Ensure LRP's restrictions are observed in all uses.José Fonseca2011-02-181-38/+51
| | | | The dst reg must be a temporary, and not be the same as src0 or src2.
* svga: Preserve src swizzles in submit_op2/3/4.José Fonseca2011-02-181-25/+45
| | | | | Several opcodes require scalar swizzle, and this requirement was being was not being observed when creating temporaries for other reasons.
* svga: Disable surface cache for texturesJakob Bornecrantz2011-02-181-1/+2
| | | | Signed-off-by: Jakob Bornecrantz <[email protected]>
* svga: Describe svga_sampler_views for refcnt debuggingJakob Bornecrantz2011-02-182-1/+21
| | | | Signed-off-by: Jakob Bornecrantz <[email protected]>
* svga: Make sure that refcnt debugger gets the correct backtrace for createJakob Bornecrantz2011-02-182-0/+9
| | | | Signed-off-by: Jakob Bornecrantz <[email protected]>