summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nvfx
Commit message (Collapse)AuthorAgeFilesLines
* nvfx: reset nvfx->hw_zetaXavier Chantry2010-11-251-1/+3
| | | | | | | | | | | | If nvfx_framebuffer prepare and validate were called successively with fb->zsbuf not NULL and then NULL, nvfx->hw_zeta would contain garbage and this would cause failures in nvfx_framebuffer_relocate/OUT_RELOC(hw_zeta). This was triggered by piglit/texwrap 2D GL_DEPTH_COMPONENT24 and caused first a 'write to user buffer!!' error in libdrm and then worse things. Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* nvfx: fb->nr_cbufs <= 1 on nv30Xavier Chantry2010-11-251-1/+1
| | | | | | | | 7e1bf946316ff99feaa3f2e85f70b45bd9a77ade changed PIPE_CAP_MAX_RENDER_TARGETS to 1 on nv30. Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* gallium: add PIPE_SHADER_CAP_SUBROUTINESMarek Olšák2010-11-221-0/+4
| | | | | | | | | | | This fixes piglit/glsl-vs-main-return and glsl-fs-main-return for the drivers which don't support RET (i915g, r300g, r600g, svga). ir_to_mesa does not currently generate subroutines, but it's a matter of time till it's added. It would then break all the drivers which don't implement them, so this CAP makes sense. Signed-off-by: Marek Olšák <[email protected]>
* nvfx: only expose one rt on nv30Xavier Chantry2010-11-201-1/+1
| | | | We do not know how to use more, GL_ARB_draw_buffers is not exposed on blob.
* nvfx: fill out CAPs for indirect addressingMarek Olšák2010-11-121-0/+11
| | | | To match shader model 2.0.
* nvfx: fill PIPE_CAP_PRIMITIVE_RESTART and PIPE_CAP_SHADER_STENCIL_EXPORTLucas Stach2010-11-111-0/+4
| | | | | Signed-off-by: Lucas Stach <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* nvfx: Pair os_malloc_aligned() with os_free_aligned().Krzysztof Smiechowicz2010-10-041-1/+1
| | | | From AROS.
* nvfx: add RGB framebuffer format support in addition to BGRLuca Barbieri2010-09-242-0/+8
|
* nvfx: allow setting NULL constant buffersLuca Barbieri2010-09-241-1/+1
|
* nvfx: remove gl_PointCoord hackLuca Barbieri2010-09-221-7/+6
| | | | Now Gallium has the proper fix, thanks to Brian Paul.
* nvfx: Silence uninitialized variable warnings.Vinson Lee2010-09-181-0/+2
|
* nvfx: Remove const qualifer from nvfx_vertprog_translate.Vinson Lee2010-09-181-1/+1
| | | | | | Silences this GCC warning. nvfx_vertprog.c: In function 'nvfx_vertprog_translate': nvfx_vertprog.c:998: warning: assignment discards qualifiers from pointer target type
* nvfx: Silence uninitialized variable warnings.Vinson Lee2010-09-151-0/+3
|
* gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)Luca Barbieri2010-09-141-45/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in v3: - Also change trace, which I forgot about Changes in v2: - No longer adds tessellation shaders Currently each shader cap has FS and VS versions. However, we want a version of them for geometry, tessellation control, and tessellation evaluation shaders, and want to be able to easily query a given cap type for a given shader stage. Since having 5 duplicates of each shader cap is unmanageable, add a new get_shader_param function that takes both a shader cap from a new enum and a shader stage. Drivers with non-unified shaders will first switch on the shader and, within each case, switch on the cap. Drivers with unified shaders instead first check whether the shader is supported, and then switch on the cap. MAX_CONST_BUFFERS is now per-stage. The geometry shader cap is removed in favor of checking whether the limit of geometry shader instructions is greater than 0, which is also used for tessellation shaders. WARNING: all drivers changed and compiled but only nvfx tested
* nvfx: Remove unused variables.Vinson Lee2010-09-123-3/+1
|
* nvfx: Move declaration before code.Vinson Lee2010-09-121-6/+12
| | | | Fixes SCons build.
* nv30: fix breakage due to 10 texcoord support on nv40Luca Barbieri2010-09-111-2/+2
|
* nvfx: fix return in vp mainLuca Barbieri2010-09-061-17/+39
|
* nvfx: support nv30 simulation on nv40Luca Barbieri2010-09-057-32/+50
|
* nvfx: move nv04_2d to rules-ng-ngLuca Barbieri2010-09-052-17/+1363
|
* nvfx: switch to rules-ng-ng register headersLuca Barbieri2010-09-0517-334/+2356
| | | | | | | | | | This is the new register generation toolkit in use by nouveau. As far as I know, this is the best register description toolkit in existence, and you should use it too for your hardware :) Thanks to Marcin Kościelnicki for inventing it and performing invaluable reverse engineering work of nVidia chips.
* nvfx: remove remaining BEGIN_RING/eng3d usesLuca Barbieri2010-09-052-15/+18
|
* nvfx: pause occlusion queries during blitter usageLuca Barbieri2010-09-053-9/+35
| | | | | Thanks for Dave Airlie and Jerome Glisse for their code which made me realize I need this too.
* nvfx: properly return fogcoord.w == 1Luca Barbieri2010-09-051-1/+15
| | | | | Hardware sets it to 0, so we add an ADD to put an 1 there if the application really wants the alpha channel.
* nvfx: support saturate in vpLuca Barbieri2010-09-052-66/+93
| | | | | | Completely untested, since Mesa apparently never uses this currently. In particular, it might not work with scalar slot op.
* nvfx: add rewritten swtnl supportLuca Barbieri2010-09-058-263/+238
| | | | | | | | The old swtnl code was broken by the new shader linkage support for GLSL. This is a rewrite of swtnl support, which should instead work properly, be faster and more closer to the much more tested hardware pipeline.
* nvfx: use a piglit-ignored format for unknown cap messageLuca Barbieri2010-09-051-1/+1
|
* nvfx: support unlimited constants and immediates in fpLuca Barbieri2010-09-052-49/+37
|
* nvfx: support using blitter to copy depth/stencil resources, fix HeavenLuca Barbieri2010-09-051-1/+8
| | | | | | | | | | We might want to copy them as color ones though. Also works around crash in Unigine Heaven due to failing to allocate a 64 MB temporary in GART for a CPU copy. Unigine Heaven now works on nv40, albeit with very heavy glitches (with the floating branch with render_hdr 0).
* nvfx: support rendering to more formatsLuca Barbieri2010-09-043-1/+27
|
* nvfx: move 2D format selection logic to 2D codeLuca Barbieri2010-09-043-67/+75
|
* nvfx: fix swizzling of high bpp surfacesLuca Barbieri2010-09-042-39/+63
|
* nvfx: fix some subrectangle copiesLuca Barbieri2010-09-041-4/+6
| | | | | | Actually, we may want to get rid of the x/y coordinates for linear surfaces, and realign the origin from scratch if necessary, instead of doing this "on-demand realignment".
* nvfx: fix inlinining in nv04_2d.cLuca Barbieri2010-09-041-1/+1
|
* nvfx: fix the temporary copying logic and add assertsLuca Barbieri2010-09-043-7/+24
|
* nvfx: prevent swizzled rendering into formats where it's not supportedLuca Barbieri2010-09-041-2/+4
|
* nvfx: consolidate tiny filesLuca Barbieri2010-09-049-134/+94
| | | | | We probably want to reorganize the remaining files too, but that's for later, maybe.
* nvfx: fix vp DP2Luca Barbieri2010-09-041-1/+1
|
* nvfx: implement fp SSG properlyLuca Barbieri2010-09-041-5/+18
|
* nvfx: don't claim we support preds since the driver doesn'tLuca Barbieri2010-09-041-2/+2
|
* nv40: support all 10 texcoordsLuca Barbieri2010-09-043-12/+19
|
* nvfx: add missing context initLuca Barbieri2010-09-041-0/+3
|
* nvfx: tidy up state_emitLuca Barbieri2010-09-041-76/+84
|
* nvfx: support all coord conventions in hardwareLuca Barbieri2010-09-045-5/+31
|
* nvfx: add missing pushbuffer space checkLuca Barbieri2010-09-041-0/+2
|
* nvfx: support all possible vs constsLuca Barbieri2010-09-041-10/+5
| | | | | | | | We were incorrectly setting a register that limited the range of constants accessible via indirect addressing. Setting it correctly, we can address all the constants the GPU supports.
* nvfx: set magic bit to round NPOT mipmap sizes down and not upLuca Barbieri2010-09-041-0/+3
| | | | Does any API even use rounding-up?
* nvfx: allow nested blitter usage, fixing bug in clearLuca Barbieri2010-09-043-8/+21
|
* nvfx: implement LIT in fpLuca Barbieri2010-09-032-1/+24
|
* nvfx: fix division by zero in vp-ignore-inputLuca Barbieri2010-09-031-1/+1
|