aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary
Commit message (Collapse)AuthorAgeFilesLines
* gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)Luca Barbieri2010-09-145-11/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* pb: Fix the build, and add notes.José Fonseca2010-09-125-5/+14
|
* pb: add void * for flush ctx to mapping functionsDave Airlie2010-09-128-19/+19
| | | | | | | | | | If the buffer we are attempting to map is referenced by the unsubmitted command stream for this context, we need to flush the command stream, however to do that we need to be able to access the context at the lowest level map function, currently we set the buffer in the toplevel map, but this racy between context. (we probably have a lot more issues than that.) I'll look into a proper solution as suggested by jrfonseca when I get some time.
* gallivm: nr_channels is only valid for formats with plain layout.José Fonseca2010-09-111-3/+1
| | | | | | | | This is erroneously throwing non plain formats out of the faster AoS sampling path. Doing 8bit interpolation for single channels such as L8 should be no worse than with floating point. But this may need more investigation.
* gallivm: Use const keyword on swizzles.José Fonseca2010-09-112-2/+2
|
* gallivm: Allow to TGSI AoS translation to happen in BGRA ordering.José Fonseca2010-09-112-33/+87
| | | | Or any ordering.
* gallivm: Add a new debug flag to warn about performance issues.José Fonseca2010-09-118-8/+50
|
* gallivm: Helper functions for pointer indirection.José Fonseca2010-09-112-0/+56
|
* gallivm: Cleanup the TGSI <-> sampler interface.José Fonseca2010-09-112-9/+4
|
* gallivm: Add some utility functions to set/get array elements too.José Fonseca2010-09-112-0/+70
|
* gallivm: Basic AoS TGSI -> LLVM IR.José Fonseca2010-09-114-0/+1156
| | | | Essentially a variation of the SoA version.
* gallivm: Move the texture modifiers to the header.José Fonseca2010-09-112-19/+20
| | | | Useful to pass these around.
* gallivm: s/lp_build_broadcast_aos/lp_build_swizzle_scalar_aos/José Fonseca2010-09-112-5/+8
| | | | More accurate description of this function purpose.
* draw: minor reformattingBrian Paul2010-09-091-2/+1
|
* util: Helper function to determined whether two formats can be memcpy'ed.José Fonseca2010-09-052-4/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 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-055-25/+40
| | | | Much more convenient than boolean arrays.
* gallivm: Cope with tgsi instruction reallocation failure.José Fonseca2010-09-051-6/+10
|
* draw: Include missing headers in draw_vs_aos.h.Vinson Lee2010-09-021-0/+2
| | | | | Include tgsi_exec.h for TGSI_EXEC_NUM_TEMPS. Include draw_vs.h for draw_vs_varient.
* util: Include missing header in u_linear.h.Vinson Lee2010-09-021-0/+1
| | | | Include p_compiler.h for size_t and boolean symbols.
* gallivm: fix bug in nested conditionalsBrian Paul2010-08-311-2/+4
| | | | This, plus the previous commit fix fd.o bug 29806.
* gallivm: Compute the 4 texel offsets for linear filtering en ensemble.José Fonseca2010-08-303-126/+280
|
* gallivm: Disable LLVM's pretty stack trace dumper.José Fonseca2010-08-301-0/+8
| | | | | | | | By default LLVM adds a signal handler to output a pretty stack trace. This signal handler is never removed, causing problems when unloading the shared object where the gallium driver resides. Thanks to Chris Li for finding this.
* gallivm: Correct copy'n'pasted comments.José Fonseca2010-08-301-4/+4
|
* gallivm: Fix lp_build_sum_vector.José Fonseca2010-08-301-6/+4
| | | | | | | The result is scalar, so when argument is zero/undef we can pass vector zero/undef. Also, support the scalar case.
* util: Include missing header in u_draw.h.Vinson Lee2010-08-281-0/+1
| | | | Include p_state.h for complete type to pipe_draw_info.
* util: Add forward declaration in u_transfer.h.Vinson Lee2010-08-281-0/+1
|
* r300g,u_blitter: use u_framebufferMarek Olšák2010-08-292-35/+3
| | | | Removing another function duplication in u_blitter.
* util: remove util_is_pot in favor of util_is_power_of_twoMarek Olšák2010-08-295-17/+7
| | | | The function was duplicated.
* draw: Include missing header in draw_vs_llvm.c.Vinson Lee2010-08-281-0/+1
| | | | Include p_screen.h for completely type to pipe_screen.
* util: fix typo in MAX4Keith Whitwell2010-08-271-1/+1
| | | | Thanks to Michal for spotting it.
* util: add MIN4, MAX4Keith Whitwell2010-08-271-0/+3
|
* tgsi: Include missing header in tgsi_parse.h.Vinson Lee2010-08-271-0/+1
| | | | Include p_compiler.h for boolean and INLINE symbols.
* tgsi: Include missing header in tgsi_info.h.Vinson Lee2010-08-271-0/+1
| | | | Include p_compiler.h for uint symbol.
* tgsi: Include missing header in tgsi_dump.h.Vinson Lee2010-08-271-0/+1
| | | | Include p_compiler.h for uint symbol.
* util: Include missing header in u_simple_shaders.c.Vinson Lee2010-08-261-0/+1
| | | | Include p_state.h for PIPE_MAX_COLOR_BUFS symbol.
* tgsi: Include missing header in tgsi_sse2.h.Vinson Lee2010-08-261-1/+4
| | | | | Include p_compiler.h for boolean symbol. Clean up forward declarations.
* rtasm: Include missing header in rtasm_x86sse.h.Vinson Lee2010-08-261-0/+1
| | | | Include p_compiler.h for stdint.h uint*_t symbols.
* pipebuffer: Clean up header file inclusion in pb_bufmgr.h.Vinson Lee2010-08-261-2/+1
| | | | | Remove p_compiler.h and p_defines.h. Include pb_buffer.h for pb_size symbol.
* util: Include missing header in u_blit.h.Vinson Lee2010-08-251-5/+7
| | | | | Include p_compiler.h for uint symbol. Clean up forward declarations.
* util: Include missing header in u_bitmask.h.Vinson Lee2010-08-251-0/+3
| | | | Include p_compiler.h for boolean symbol.
* util: Include missing header in u_dirty_surfaces.h.Vinson Lee2010-08-251-0/+4
| | | | Include p_state.h for pipe_surface symbol.
* util: Add include guard in u_split_prim.h.Vinson Lee2010-08-251-0/+6
|
* util: Include missing headers in u_split_prim.h.Vinson Lee2010-08-251-1/+4
| | | | | Include p_compiler.h for boolean symbol. Include u_debug.h for assert symbol.
* util: Include missing headers in u_tile.h.Vinson Lee2010-08-251-0/+3
| | | | | Include p_format.h for enum pipe_format symbol. Include p_state.h for pipe_box symbol.
* util: Clean up header file inclusion in u_upload_mgr.h.Vinson Lee2010-08-251-4/+1
| | | | | | Remove p_defines.h. Remove unnecessary forward declarations. Add forward declaration for pipe_context.
* tgsi: helper for dumping tokens as hexKeith Whitwell2010-08-252-13/+25
|
* draw: specialized cliptesting routinesKeith Whitwell2010-08-2511-205/+267
|
* util: add rectangle helpers to u_rect.hKeith Whitwell2010-08-251-4/+53
| | | | | | This begins a process of repurposing this file. The existing usage is as a header file for some software blit fallbacks, which should be moved to a more appropriately named header.
* draw: Remove UNDEFINED_VERTEX_ID checks in emit pathes.Chia-I Wu2010-08-253-28/+0
| | | | | | UNDEFINED_VERTEX_ID is used by draw_pipe_vbuf to decide whether a vertex has been emitted or not. The non-pipeline pathes do not use it (they tell the frontend the max vertex count when prepare() is called).