summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/util
AgeCommit message (Collapse)Author
2010-09-23u_blitter: add a custom blitter call passing a dsa csoDave Airlie
reimplement the flush stage added for r300 to allow a custom DSA stage to be used in the pipeline, this allows for r600 hw DB->CB flushes.
2010-09-20util/r300g: split the r300 index buffer modifier functions out to utilDave Airlie
These can be used by other drivers, like r600g. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-09-19auxiliary: fix depth-only and stencil-only clearsLuca Barbieri
Depth-only and stencil-only clears should mask out depth/stencil from the output, mask out stencil/input from input, and OR or ADD them together. However, due to a typo they were being ANDed, resulting in zeroing the buffer.
2010-09-17util: linearized sRGB values don't fit into 8bitsJosé Fonseca
Fixes glean texture_srgb test.
2010-09-14auxiliary: fix unintended fallthroughLuca Barbieri
2010-09-14gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3)Luca Barbieri
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
2010-09-05util: Helper function to determined whether two formats can be memcpy'ed.José Fonseca
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.
2010-09-05util: Utility function to determine the channels that can be written in a ↵José Fonseca
color format.
2010-09-02util: Include missing header in u_linear.h.Vinson Lee
Include p_compiler.h for size_t and boolean symbols.
2010-08-28util: Include missing header in u_draw.h.Vinson Lee
Include p_state.h for complete type to pipe_draw_info.
2010-08-28util: Add forward declaration in u_transfer.h.Vinson Lee
2010-08-29r300g,u_blitter: use u_framebufferMarek Olšák
Removing another function duplication in u_blitter.
2010-08-29util: remove util_is_pot in favor of util_is_power_of_twoMarek Olšák
The function was duplicated.
2010-08-27util: fix typo in MAX4Keith Whitwell
Thanks to Michal for spotting it.
2010-08-27util: add MIN4, MAX4Keith Whitwell
2010-08-26util: Include missing header in u_simple_shaders.c.Vinson Lee
Include p_state.h for PIPE_MAX_COLOR_BUFS symbol.
2010-08-25util: Include missing header in u_blit.h.Vinson Lee
Include p_compiler.h for uint symbol. Clean up forward declarations.
2010-08-25util: Include missing header in u_bitmask.h.Vinson Lee
Include p_compiler.h for boolean symbol.
2010-08-25util: Include missing header in u_dirty_surfaces.h.Vinson Lee
Include p_state.h for pipe_surface symbol.
2010-08-25util: Add include guard in u_split_prim.h.Vinson Lee
2010-08-25util: Include missing headers in u_split_prim.h.Vinson Lee
Include p_compiler.h for boolean symbol. Include u_debug.h for assert symbol.
2010-08-25util: Include missing headers in u_tile.h.Vinson Lee
Include p_format.h for enum pipe_format symbol. Include p_state.h for pipe_box symbol.
2010-08-25util: Clean up header file inclusion in u_upload_mgr.h.Vinson Lee
Remove p_defines.h. Remove unnecessary forward declarations. Add forward declaration for pipe_context.
2010-08-25util: add rectangle helpers to u_rect.hKeith Whitwell
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.
2010-08-23auxiliary: fix nvfx/nv50 primitive splitting for line loopsLuca Barbieri
s->close_first was on the wrong side of the inequality. Caught by blender. Thanks to AndrewR for reporting this.
2010-08-23util: fix util_fill_rect to take util_color instead of u32 paramRoland Scheidegger
util_fill_rect could not handle formats with more than 32 bits, since the fill color was a uint32_t value. Fix this by using a util_color union instead, and also expand the union so it works with formats which have up to 256 bits (the max of any format currently defined).
2010-08-23nvfx: support clip planes sensibly and fix them on nv30Luca Barbieri
Before, we were discarding the compiled vertex program on each vertex program change. Now we compile the program as if there were 6 clip planes and dynamically patch in an "end program" bit at the right place. Also, nv30 should now work.
2010-08-22util: implement depth blitting in u_blitMarek Olšák
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-08-21util: Use #ifdef instead of #if.Vinson Lee
This is a typo fix of earlier commit 0f3b3751b8643352dcc242567b3696bd1505df1d.
2010-08-21util: Define dump_cpu only for DEBUG builds.Vinson Lee
dump_cpu is used only when DEBUG is defined. Fixes the following GCC warning on builds without DEBUG defined. util/u_cpu_detect.c:76: warning: 'debug_get_option_dump_cpu' defined but not used
2010-08-21util: Silence uninitialized variable warnings.Vinson Lee
2010-08-21util: Move loop variable declaration outside for loop.Vinson Lee
Fixes build error with MSVC.
2010-08-21gallium/auxiliary: add semantic linkage utility codeLuca Barbieri
2010-08-21u_debug_describe: use switch instead of if chainLuca Barbieri
2010-08-21u_debug_describe: add PIPE_TEXTURE_RECTLuca Barbieri
2010-08-21auxiliary: add copyright headersLuca Barbieri
Thanks to Jose Fonseca for pointing out they were missing.
2010-08-21util: Match printf format to silence warning.José Fonseca
2010-08-21util: Make the reference debuggin code more C++ friendly.José Fonseca
C++ doesn't accept function <-> void* conversions without a putting a fight.
2010-08-21util: Remove the x86 exception handlers.José Fonseca
Unused now that check_os_katmai_support was removed.
2010-08-20util: Fix build for C++ compilers.Michal Krol
2010-08-20gallium: hook up reference count debugging codeLuca Barbieri
This commit adds the ability to produce a log file containing all reference count changes, and object creation/destruction, on Gallium objects. The data allows to answer these crucial questions: 1. This app is exhausting all my memory due to a resource leak: where is the bug? 2. Which resources is this app using at a given moment? Which parts of the code created them? 3. What kinds of resources does this app use? 4. How fast does this app create and destroy resources? Which parts of the code create resources fast? The output is compatible with the one produced by the similar facility in Mozilla Firefox, allowing to use Mozilla's tools to analyze the data. To get the log file: export GALLIUM_REFCNT_LOG=<file> To get function names and source lines in the log file: tools/addr2line.sh <file> To process the log file, see: http://www.mozilla.org/performance/refcnt-balancer.html
2010-08-20auxiliary: add reference count debugging codeLuca Barbieri
2010-08-20u_debug_symbol: add symbol name cachingLuca Barbieri
Without this, any form of logging that dumps stack traces continuously will spend a lot of time resolving symbol names.
2010-08-20u_debug_symbol: add support for getting symbol names from glibcLuca Barbieri
2010-08-20u_debug_symbol: support getting a string without outputLuca Barbieri
2010-08-20auxiliary: add functions to describe gallium objectsLuca Barbieri
2010-08-20u_staging: improve interfaceLuca Barbieri
2010-08-20auxiliary: support using PIPE_TEXTURE_RECT internallyLuca Barbieri
Currently Gallium internals always use PIPE_TEXTURE_2D and normalized coordinates to access textures. However, PIPE_TEXTURE_2D is not always supported for NPOT textures, and PIPE_TEXTURE_RECT requires unnormalized coordinates. Hence, this change adds support for both kinds of normalization.
2010-08-20u_staging: use PIPE_TEXTURE_RECTLuca Barbieri
2010-08-20u_blitter: use TGSI_TEXTURE_RECTLuca Barbieri
This seems to make sense, although I suspect the semantics of TGSI_TEXTURE_RECT need to be closely reviewed.