summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* mapi: Rewrite mapi_abi.py to get rid of preprocessor magic.Chia-I Wu2010-12-065-21/+20
| | | | | | | | The preprocessor magic in mapi was nothing but obfuscation. Rewrite mapi_abi.py to generate real C code. This commit removes the hack added in 43121f20866bb89e8dac92bd92ec85a943704b7e.
* egl: _eglFilterArray should not allocate.Chia-I Wu2010-12-061-2/+13
| | | | | Otherwise, when it is called from within a driver, the caller cannot free the returned data (on Windows).
* r600g: Cleanup fetch shader resources in r600_pipe_shader_destroy().Henri Verbeet2010-12-051-0/+5
|
* r600g: Cleanup block bo references in r600_context_fini().Henri Verbeet2010-12-051-0/+3
|
* gallium/trace: check bind_vertex_sampler_states and set_vertex_sampler_viewsXavier Chantry2010-12-051-0/+6
| | | | | | Signed-off-by: Xavier Chantry <[email protected]> Reviewed-by: Jakob Bornecrantz <wallbraker at gmail.com> Signed-off-by: Patrice Mandin <[email protected]>
* init ps->context with util_surfaces_get and do_getXavier Chantry2010-12-054-14/+16
| | | | | | Signed-off-by: Xavier Chantry <[email protected]> Reviewed-by: Jakob Bornecrantz <wallbraker at gmail.com> Signed-off-by: Patrice Mandin <[email protected]>
* nvfx: fixes after array textures mergeXavier Chantry2010-12-054-19/+35
| | | | | Signed-off-by: Xavier Chantry <[email protected]> Signed-off-by: Patrice Mandin <[email protected]>
* r300g: optimize looping over atomsMarek Olšák2010-12-0513-119/+121
| | | | This also removes DBG_STATS (the stats can be obtained with valgrind instead).
* r300g: cleanup winsysMarek Olšák2010-12-0517-640/+456
|
* r300g: try and use all of vertex constant spaceDave Airlie2010-12-054-47/+62
| | | | | | | | | | Finished up by Marek Olšák. We can set the constant space to use a different area per-call to the shader, we can avoid flushing the PVS as often as we do by spreading out the constants across the whole constant space. Signed-off-by: Marek Olšák <[email protected]>
* r300g: do not use the index parameter in set_constant_bufferMarek Olšák2010-12-051-2/+1
| | | | | | It appears to be a constant buffer index (in case there are more constant buffers explicitly used by a shader), i.e. something that Gallium currently does not use. We treated it incorrectly as the offset to a constant buffer.
* gallium/noop: Add prototype for noop_init_state_functions.Vinson Lee2010-12-041-0/+2
| | | | | | Silences this GCC warning. noop_state.c:247: warning: no previous prototype for 'noop_init_state_functions'
* st/vega: Fix pipe blend state for various blend modes.Chia-I Wu2010-12-043-60/+76
| | | | | | | | | rgb_src_factor and rgb_dst_factor should be PIPE_BLENDFACTOR_ONE for VG_BLEND_SRC_IN and VG_BLEND_DST_IN respectively. VG_BLEND_SRC_OVER can be supported only when the fb has no alpha channel. VG_BLEND_DST_OVER and VG_BLEND_ADDITIVE have to be supported with a shader. Note that Porter-Duff blending rules assume premultiplied alpha.
* st/vega: Add blend shaders for all blend modes.Chia-I Wu2010-12-044-72/+145
|
* st/vega: Fix VG_BLEND_MULTIPLY.Chia-I Wu2010-12-041-1/+1
| | | | | TEMP[1].w will be needed for OUT.w just below. Use TEMP[0] to store the intermediate value.
* st/vega: Silence uninitialized variable warning.Vinson Lee2010-12-041-0/+1
| | | | | | Fixes this GCC warning. api_filters.c: In function 'execute_filter': api_filters.c:184: warning: 'tex_wrap' may be used uninitialized in this function
* st/vega: Blending should use premultiplied alpha.Chia-I Wu2010-12-041-8/+72
| | | | | | Convert color values to and back from premultiplied form for blending. Finally the rendering result of the blend demo looks much closer to that of the reference implementation.
* st/vega: Add support for per-channel alpha.Chia-I Wu2010-12-044-41/+140
| | | | | | | | | | Drawing an image in VG_DRAW_IMAGE_STENCIL mode produces per-channel alpha for use in blending. Add a new shader stage to produce and save it in TEMP[1]. For other modes that do not need per-channel alpha, the stage does MOV TEMP[1], TEMP[0].wwww
* st/vega: Move masking after blending.Chia-I Wu2010-12-044-58/+58
| | | | | Masking should happen after blending. The shader is not entirely correct, but leave it as is for now.
* st/vega: Refactor blend shaders.Chia-I Wu2010-12-041-62/+112
| | | | | | | | | Add a helper function, blend_generic, that supports all blend modes and per-channel alpha. Make other blend generators a wrapper to it. Both the old and new code expects premultiplied colors, yet the input is non-premultiplied. Per-channel alpha is also not used for stencil image. They still need to be fixed.
* st/vega: Add some comments to pipeline shaders.Chia-I Wu2010-12-041-2/+11
|
* mesa: consolidate some compiler -D flagsBrian Paul2010-12-032-5/+0
| | | | | -D__STDC_CONSTANT_MACROS and -D__STDC_LIMIT_MACROS are only needed for LLVM build.
* r300g: one more r500_index_bias_supported leftoverMarek Olšák2010-12-031-2/+1
|
* r300g: add capability bit index_bias_supportedMarek Olšák2010-12-036-12/+10
| | | | .. instead of calling r500_index_bias_supported(..) every draw call.
* r600g: more indentation fix + warning silencing + dead code removalJerome Glisse2010-12-035-91/+14
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: indentation fixJerome Glisse2010-12-037-105/+101
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* r600g: update polygon offset only when rasterizer or zbuffer changeJerome Glisse2010-12-034-80/+114
| | | | | | Aim is to build as little state as possible in draw functions. Signed-off-by: Jerome Glisse <[email protected]>
* llvmpipe: fix broken stencil writemaskBrian Paul2010-12-031-1/+1
| | | | Fixes http://bugs.freedesktop.org/show_bug.cgi?id=32070
* r600g: set address of pop instructions to next instructionFabian Bieler2010-12-031-0/+1
|
* r600g: dump raw shader output for debuggingJerome Glisse2010-12-033-0/+27
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* gallivm: fix null builder pointersBrian Paul2010-12-031-3/+2
|
* st/vega: Add a missing break.Chia-I Wu2010-12-031-0/+1
|
* st/vega: Move vertex transformation to shader.Chia-I Wu2010-12-038-54/+116
| | | | | | | It was done in path-to-polygon conversion. That meant that the results were invalidated when the transformation was modified, and CPU had to recreate the vertex buffer with new vertices. It could be a performance hit for apps that animate.
* st/vega: Set pipe_resource::array_size to 1.Chia-I Wu2010-12-031-0/+1
|
* st/egl: Set pipe_resource::array_size to 1.Chia-I Wu2010-12-031-0/+1
|
* r300g: do not remove unused constants if we are not near the limitMarek Olšák2010-12-032-2/+9
|
* r300g: fix pointer arithmetic with void* in transfer_inline_writeMarek Olšák2010-12-032-3/+3
|
* r300g: implement simple transfer_inline_write for buffersMarek Olšák2010-12-031-10/+38
| | | | | r600g might need something like that as well. This speeds up constant buffer upload a bit.
* r300g: use internal BO handle for add_buffer and write_relocMarek Olšák2010-12-0313-49/+77
| | | | | | | Small perf improvement in ipers. radeon_drm_get_cs_handle is exactly what this commit tries to avoid in every write_reloc.
* gallivm/llvmpipe: remove lp_build_context::builderBrian Paul2010-12-0213-278/+359
| | | | The field was redundant. Use the gallivm->builder value instead.
* r300g: fix buildMarek Olšák2010-12-031-1/+1
|
* r300g: Drop unnecessary castnobled2010-12-031-1/+1
|
* r300g: Abort if draw_create() failsnobled2010-12-031-0/+2
| | | | The other drivers need to be updated to do this, too.
* r300g: Abort if atom allocations failnobled2010-12-031-18/+28
|
* nv50: silence some unknown get_param warningsBen Skeggs2010-12-031-0/+4
| | | | Signed-off-by: Ben Skeggs <[email protected]>
* r600g: bump texture/cb limits appropriately for evergreenAlex Deucher2010-12-021-2/+14
|
* gallium/util: add states relevant to geometry shadersZack Rusin2010-12-021-0/+4
|
* wgl: Fix visual's buffer_mask configuration.José Fonseca2010-12-021-1/+1
|
* WIN32_THREADS -> WIN32José Fonseca2010-12-022-7/+0
| | | | | | | | | Fixes nasty bug where some parts of the code didn't define WIN32_THREADS and were using the integer mutex implementation, causing even confusion to the debuggers. And there is little interest of other thread implemenation on Win32 besides Win32 threads.
* softpipe: increase max texture size to 16KBrian Paul2010-12-026-23/+73
|