summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nvc0
Commit message (Collapse)AuthorAgeFilesLines
* nv50,nvc0: prevent pushbuf flush during ctx reloc emissionChristoph Bumiller2011-06-244-11/+16
| | | | | | Should unify this too, but will delay that until the planned libdrm_nouveau/winsys changes which are likely to cause major changes to this bo validation code too.
* nvc0: prevent overlap between load address and destination regsChristoph Bumiller2011-05-131-15/+29
| | | | | | | | For example, an indirect load like "ld b128 $r0q c0[$r0]" seems to overwrite the address register before finishing the load, but only if there are a lot of threads running. Visible as displaced geoemtry in Unigine Heaven.
* nv50/nvc0: make transfers aware of PIPE_TRANSFER_MAP_DIRECTLYMarcin Slusarz2011-05-091-0/+3
| | | | | | | | | | If state tracker asked us to map resource directly and we can't do it (because of tiling), return NULL instead of doing full transfer - state tracker should handle it and fallback to some other method or repeat transfer without PIPE_TRANSFER_MAP_DIRECTLY. It greatly improves performance of xorg state tracker on nv50+, because its fallback (DFS/UTS) is much faster than full transfer.
* nv50,nvc0: activate seamless cube map filteringChristoph Bumiller2011-05-061-0/+5
|
* nv50,nvc0: advertise GL_FIXED vertex buffers as supportedChristoph Bumiller2011-05-031-0/+18
| | | | | We'll handle them like f64 vertex buffers, by falling back to copying vertex data to the command buffer through translate.
* gallium: add fallback for copying buffers to all driversMarek Olšák2011-04-211-0/+8
| | | | | | Just to keep drivers working. Reviewed-by: Jakob Bornecrantz <[email protected]>
* gallium: include u_format.h for util_format_is_supportedMarcin Slusarz2011-04-171-0/+1
| | | | | | | | | | | | Without it gcc complains: nv50_screen.c: In function ‘nv50_screen_is_format_supported’: nv50_screen.c:48: warning: implicit declaration of function ‘util_format_is_supported’ and handles it wrongly - util_format_is_supported returns boolean, which is typedef'ed to uchar, but function without prototype is assumed to return int. For me nv50_screen_is_format_supported was returning true for float formats without --enable-texture-float...
* nvc0: work around what looks like a code prefetch bugChristoph Bumiller2011-04-171-1/+4
| | | | | | | Sounds very unlikely, but I don't have a better explanation at the moment. The GPU throws page faults at the first page after the code buffer quite frequently on startup, and traces don't show us overflowing.
* nv50,nvc0: add new texture and render target formatsChristoph Bumiller2011-04-171-5/+61
|
* nv50,nvc0: fix normalized RG16 and RGBA32 texture format entriesChristoph Bumiller2011-04-171-2/+2
|
* nvc0: fix viewport rectangle calculationChristoph Bumiller2011-04-171-5/+7
|
* gallium: add and use generic function for querying patented format support (v2)Marek Olšák2011-04-151-11/+2
| | | | v2: Unsigned floats are allowed regardless of the configure switch.
* nv50,nvc0: silence shader debug outputChristoph Bumiller2011-04-108-60/+33
|
* nvc0: make the card permit separate colour outputsChristoph Bumiller2011-04-102-14/+4
|
* nv50-nvc0: make use of COLOR_MASK,BLEND_ENABLE_COMMONChristoph Bumiller2011-04-105-20/+14
|
* nvc0: shrink CSOs a littleChristoph Bumiller2011-04-103-26/+22
|
* nv50,nvc0: identify some line rasterization stateChristoph Bumiller2011-04-103-5/+17
| | | | Fixes width of non-smooth (aliased) lines on nvc0.
* nvc0: force perspective correction hint to nicestChristoph Bumiller2011-04-102-0/+7
| | | | | | | | | Fixes issues in e.g. nexuiz (desertfactory) or supertuxkart that look like lighting bugs. They're not visible with the software rasterizers because their notion of linear interpolation seems to be different from that of nv50/nvc0.
* nv50,nvc0: don't insert instructions after the block terminatorChristoph Bumiller2011-04-102-3/+10
|
* gallium: set PIPE_CAP_MIXED_COLORBUFFER_FORMATS in some driversMarek Olšák2011-04-011-0/+1
|
* nv50,nvc0: implement colour clamping controlsChristoph Bumiller2011-03-294-5/+7
|
* nv50,nvc0: implement texture barrierChristoph Bumiller2011-03-191-0/+10
|
* nv50,nvc0: don't assert on cso with 0 vertex elementsChristoph Bumiller2011-03-131-2/+0
|
* nvc0: support edge flagsChristoph Bumiller2011-03-134-14/+88
|
* nvc0: fix POLYGON_MODE_BACK macro copy/paste errorChristoph Bumiller2011-03-131-1/+1
|
* nv50,nvc0: fix pipe context switchChristoph Bumiller2011-03-131-5/+32
|
* nv50,nvc0: clean up flushesChristoph Bumiller2011-03-132-20/+11
|
* nv50,nvc0: add some missing resource referencingChristoph Bumiller2011-03-132-4/+34
|
* nvc0: mask out centroid bit for writing FP headerChristoph Bumiller2011-03-131-1/+1
| | | | It's only 2 bit per input, centroid is set in the instruction.
* nvc0: identify VERTEX_QUARANTINEChristoph Bumiller2011-03-133-8/+17
| | | | | | | | Well, not sure what exactly it is, but it certainly doesn't contain the control flow stack, but vertex data. Not sure about size, I've only seen the first few KiB written, but the binary driver seems to allocate more.
* nvc0: don't enable early-z if alpha test is enabledChristoph Bumiller2011-03-134-12/+20
| | | | | | Depth values are also written before the shader is executed, so if early tests are enabled, fragments that failed the alpha test were modifying the depth buffer, but they shouldn't.
* nvc0: move sprite coord replace state into csoChristoph Bumiller2011-03-132-27/+8
| | | | It's not dependent on any other state anymore now.
* nvc0: s/nblocksx/nblocksy for height in resource_copy_regionChristoph Bumiller2011-03-131-1/+1
|
* nvc0: fix unitialized variable in TGSI sysval decl processingChristoph Bumiller2011-03-131-0/+1
|
* nvc0: update/fix supported instruction src modifiersChristoph Bumiller2011-03-135-20/+31
|
* gallium: remove flags from the flush functionMarek Olšák2011-03-111-7/+8
| | | | | | | | | | 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-1/+1
|
* gallium: kill is_resource_referencedMarek Olšák2011-03-112-21/+0
| | | | Only st/xorg used it and even incorrectly with regards to pipelined transfers.
* gallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISORMarek Olšák2011-03-051-1/+2
| | | | | | | | ARB_instanced_arrays is a subset of D3D9. ARB_draw_instanced is a subset of D3D10. The point of this change is to allow D3D9-level drivers to enable ARB_instanced_arrays without ARB_draw_instanced.
* nvc0: Update SConscript.Vinson Lee2011-03-041-3/+0
|
* nv50,nvc0: get format desc for TIC entry from sampler view formatChristoph Bumiller2011-03-051-1/+1
| | | | Fixes piglit/tex-srgb.
* nv50,nvc0: share sampler state creationChristoph Bumiller2011-03-056-126/+22
|
* nv50,nvc0: update the format tablesChristoph Bumiller2011-03-057-524/+191
| | | | | | | | Removed sampler view support for USCALED/SSCALED, the texture unit refuses to convert to non-normalized float. The enums are treated like UNORM. Removed duplicate format related headers.
* nvc0: use m2mf for resource_copy_region if formats are equalChristoph Bumiller2011-03-053-4/+75
| | | | | Which is always the case, but we'll keep the 2D engine blitter nonetheless.
* nv50,nvc0: fix texture layer issuesChristoph Bumiller2011-03-059-62/+78
|
* nouveau: allow pipe driver to define which buffers should start in sysmemBen Skeggs2011-03-031-3/+2
| | | | | | | PIPE_BIND_CONSTANT_BUFFER alone was OK for nv50/nvc0, but nv30 will need to be able to set others on certain chipsets. Signed-off-by: Ben Skeggs <[email protected]>
* nvc0: fix a crash on context destructionBen Skeggs2011-03-011-2/+6
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* nouveau: ensure vbo_dirty is set when buffer write transfer completeBen Skeggs2011-03-0111-102/+111
| | | | | | This introduces a shared nouveau_context struct to track such things. Signed-off-by: Ben Skeggs <[email protected]>
* nvc0: port to common fence/mm/buffer codeBen Skeggs2011-03-0121-1347/+128
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* nv50-nvc0: set cur_ctx during init if none currently boundBen Skeggs2011-03-011-0/+2
| | | | Signed-off-by: Ben Skeggs <[email protected]>