summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* st/dri: Call dri_init_extensions only for API_OPENGL.Chia-I Wu2010-09-081-1/+9
| | | | | | | | libmesagallium.a that this state tracker will be linked to expects OpenGL's _glapi_table. That is, it expects libGL.so instead of libGLESv1_CM.so or libGLESv2.so. As there is no clean way to know the shared library the app links to, use the api as a simple check. It might be as well to simply remove this function call though.
* st/dri: Use enum st_api_type internally.Chia-I Wu2010-09-085-27/+39
|
* st/dri: Add multi-api supportnobled2010-09-085-13/+46
| | | | | | | | | | Make st/dri screens capable of creating OpenGL ES and OpenGL ES2 contexts. TODO: Figure out the "get_current" problem with multiple st_api's for real. (s/API_OPENGLES1/API_OPENGLES/ by Chia-I Wu)
* st/dri: Make clear which API's are supportednobled2010-09-081-1/+4
| | | | | If the caller requests a GLES context, don't silently create a desktop GL context in its place.
* r600g: add initial bank swizzle support.Dave Airlie2010-09-084-4/+295
| | | | | this is ported from r600c mostly, bank swizzling is real messy and I don't think I got enough sleep last night to fully understand it.
* r600g: Added missing r600_bc_add_literal() calls to XPD implementation.Tilman Sauerbeck2010-09-081-0/+8
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: Added preliminary support for the LOG opcode.Tilman Sauerbeck2010-09-081-1/+121
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: Added missing abs-ification to RSQ.Tilman Sauerbeck2010-09-081-1/+30
| | | | | | This makes the 'fp1-RSQ test 2' piglit test work. Signed-off-by: Dave Airlie <[email protected]>
* r600g: split opcodes out and add wrapper around usage.Dave Airlie2010-09-084-208/+233
| | | | | | This splits the r600 opcodes out of the sq file and adds a wrapper so we can convert to evergreen opcodes later without touching these functions too much.
* r600g: add support for constants in memory buffers.Dave Airlie2010-09-0814-51/+154
| | | | | | DX9 constants were in the constant file, and evergreen no longer support cfile. r600/700 can also use constants in memory buffers, so add the code (disabled for now) to enable that as precursor for evergreen.
* r600g: abstract the hw states out behind a vtbl.Dave Airlie2010-09-087-975/+1103
| | | | | this is step one towards evergreen support, it lets us plug in whole new hw level states.
* libgl-xlib: Fix --enable-gallium-llvm build.Chia-I Wu2010-09-071-1/+9
| | | | Check MESA_LLVM and link to LLVM as other targets do.
* llvmpipe: Add lp_rast_debug.c to Makefile.Chia-I Wu2010-09-071-0/+1
|
* llvmpipe: Refactor lp_scene_add_resource_referenceJosé Fonseca2010-09-071-14/+15
| | | | Less goto spaghetti.
* llvmpipe: Fix negated logic in lp_scene_add_resource_reference().José Fonseca2010-09-071-1/+1
| | | | Fixes performance regression.
* llvmpipe: move more coef setup into lp_setup_coef.cKeith Whitwell2010-09-074-40/+61
|
* llvmpipe: declare fence handle structKeith Whitwell2010-09-071-0/+1
|
* llvmpipe: rasterization debugging helpersKeith Whitwell2010-09-077-0/+428
|
* llvmpipe: use opcodes instead of function pointers in binsKeith Whitwell2010-09-0715-441/+513
| | | | Also, move some state from rasterizer struct to the scene.
* llvmpipe: rearrange queriesKeith Whitwell2010-09-074-116/+53
|
* llvmpipe: enforce fixed memory limit on scenesKeith Whitwell2010-09-0711-341/+459
|
* llvmpipe: clean up deferred zstencil clearsKeith Whitwell2010-09-076-79/+41
|
* llvmpipe: rework fences and queriesKeith Whitwell2010-09-077-92/+124
|
* llvmpipe: move whole-tile emit into a functionKeith Whitwell2010-09-072-8/+42
|
* llvmpipe: put fs variant dumping in a functionKeith Whitwell2010-09-072-4/+15
|
* Replace reference to tgsi-instruction-set.txt.Tilman Sauerbeck2010-09-071-1/+1
| | | | | | That file has been replaced by tgsi.rst. Signed-off-by: José Fonseca <[email protected]>
* nvfx: fix return in vp mainLuca Barbieri2010-09-061-17/+39
|
* r600g: add error print for no literals for r700s as wellDave Airlie2010-09-061-0/+3
|
* r600g: fixup r700 assembler for clamp/relative addressingDave Airlie2010-09-061-13/+18
|
* r600g: add script to generate header file with offsets into state objects.Dave Airlie2010-09-063-412/+564
| | | | | | | | This was inherently fragile as any changes to r600_states.h would also need manual updating of all of the bits in radeon.h. Just add a simple python script to do the conversion, its not hooked up to make at all. This also will make adding evergreen a bit easier.
* r600g: fix up surface referencesDave Airlie2010-09-061-4/+2
| | | | | We end up referencing the new surf and derefing the old surface which is a copy of the pointer to the new surf. So just bump the ref count directly.
* r600g: search for sampler views in context on removal.Dave Airlie2010-09-061-0/+17
| | | | Need to remove from context as well.
* r600g: add missing printf operandDave Airlie2010-09-061-1/+1
|
* nvfx: support nv30 simulation on nv40Luca Barbieri2010-09-057-32/+50
|
* nouveau: delete nouveau_class.h, move nv50 regs to nv50_reg.hLuca Barbieri2010-09-054-9050/+1775
| | | | | | | nv50 should switch to rules-ng-ng too at some point. The classic Mesa Nouveau driver also includes a copy of nouveau_class.h, and should convert to rules-ng-ng too and remove it.
* nvfx: move nv04_2d to rules-ng-ngLuca Barbieri2010-09-053-17/+1518
|
* nvfx: switch to rules-ng-ng register headersLuca Barbieri2010-09-0518-334/+2587
| | | | | | | | | | 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-054-10/+36
| | | | | 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
|
* llvmpipe: Remove some broken MinGW hacks in the sin/cos reference code.José Fonseca2010-09-051-49/+0
|
* llvmpipe: Fix perspective divide interpolation.José Fonseca2010-09-052-9/+76
| | | | | | | | | | Intuition != mathematics, so this time I actually worked out the right formula for first order approximation of perspective interpolation. Ironically, per quad divide actually makes things slower when compared with per pixel divide -- probably because the divide hardware unit is rarely used, whereas the multiply unit is typically already saturated and the first order approximation imply more multiplications.
* util: Helper function to determined whether two formats can be memcpy'ed.José Fonseca2010-09-055-4/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | These are the non-trivial conversions that this function recognizes, which was produced by u_format_compatible_test.c: b8g8r8a8_unorm -> b8g8r8x8_unorm a8r8g8b8_unorm -> x8r8g8b8_unorm b5g5r5a1_unorm -> b5g5r5x1_unorm b4g4r4a4_unorm -> b4g4r4x4_unorm l8_unorm -> r8_unorm i8_unorm -> l8_unorm i8_unorm -> a8_unorm i8_unorm -> r8_unorm l16_unorm -> r16_unorm z24_unorm_s8_uscaled -> z24x8_unorm s8_uscaled_z24_unorm -> x8z24_unorm r8g8b8a8_unorm -> r8g8b8x8_unorm a8b8g8r8_srgb -> x8b8g8r8_srgb b8g8r8a8_srgb -> b8g8r8x8_srgb a8r8g8b8_srgb -> x8r8g8b8_srgb a8b8g8r8_unorm -> x8b8g8r8_unorm r10g10b10a2_uscaled -> r10g10b10x2_uscaled r10sg10sb10sa2u_norm -> r10g10b10x2_snorm State trackers and pipe drivers should be updated to take advantage of this knowledge, e.g., in surface_copy.
* llvmpipe: Relax the colormask constraint on opaque.José Fonseca2010-09-052-13/+29
| | | | | | Also, include the color buffer in the key. Not having it there causes a tight knots in the logic to determine when it is OK or not to discard previous color buffer contents.
* util: Utility function to determine the channels that can be written in a ↵José Fonseca2010-09-051-0/+33
| | | | color format.
* gallivm: Pass condition masks as an unsigned bitmask.José Fonseca2010-09-056-28/+42
| | | | Much more convenient than boolean arrays.
* gallivm: Cope with tgsi instruction reallocation failure.José Fonseca2010-09-051-6/+10
|