summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary
AgeCommit message (Collapse)Author
2010-09-21gallivm: fix lp_build_sample_compare()Brian Paul
The old code didn't really make sense. We only need to compare the X channel of the texture (depth) against the texcoord. For (bi)linear sampling we should move the calls to this function and compute the final result as (s1+s2+s3+s4) * 0.25. Someday. This fixes the glean glsl1 shadow2D() tests. See fd.o bug 29307.
2010-09-21draw: new draw_fs.[ch] filesBrian Paul
2010-09-21Merge branch 'sprite-coord'Brian Paul
2010-09-20tgsi: Remove duplicate case value.Vinson Lee
2010-09-21tgsi: Actually care what check_soa_dependencies saysJakob Bornecrantz
Thanks to José for the more complete list of supported opcodes. NOTE: This is a candidate for the 7.9 branch.
2010-09-21tgsi: Don't ignore indirect registers in tgsi_check_soa_dependenciesJosé Fonseca
NOTE: This is a candidate for the 7.9 branch.
2010-09-20draw: check bitshift against PIPE_MAX_SHADER_OUTPUSBrian Paul
2010-09-20draw: fix test for using the wide-point stageBrian Paul
As it was, we weren't obeying the draw->pipeline.point_sprite state. Fixes point sprites in llvmpipe driver.
2010-09-20tgsi: add switch/case opcodes to tgsi_opcode_tmp.hLuca Barbieri
2010-09-20gallivm: remove debug codeBrian Paul
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-20rbug: Add function to get opcode name stringJakob Bornecrantz
2010-09-20rbug: Cast opcode to corrent int sizeJakob Bornecrantz
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-17gallium: rework handling of sprite_coord_enable stateBrian Paul
Implement the pipe_rasterizer_state::sprite_coord_enable field in the draw module (and softpipe) according to what's specified in the documentation. The draw module can now add any number of extra vertex attributes to a post-transformed vertex and generate texcoords for those attributes per sprite_coord_enable. Auto-generated texcoords for sprites only worked for one texcoord unit before. The frag shader gl_PointCoord input is now implemented like any other generic/texcoord attribute. The draw module now needs to be informed about fragment shaders since we need to look at the fragment shader's inputs to know which ones need auto-generated texcoords. Only softpipe has been updated so far.
2010-09-17util: linearized sRGB values don't fit into 8bitsJosé Fonseca
Fixes glean texture_srgb test.
2010-09-17gallivm: added missing case for PIPE_TEXTURE_RECTBrian Paul
Fixes fd.o bug 30245
2010-09-16tgsi/sse: fix aos_to_soa() loop to handle num_inputs==0Brian Paul
Basically, change the loop from: do {...} while (--num_inputs != 0) into: while (num_inputs != 0) { ... --num_inputs; } Fixes fd.o bug 29987.
2010-09-16gallivm: Remove unnecessary header.Vinson Lee
2010-09-16gallivm: fix wrong return value in bitwise functionsBrian Paul
2010-09-16gallivm: Clamp indirect register indices to file_max.José Fonseca
Prevents crashes with bogus data, or bad shader translation.
2010-09-16gallivm: Start collecting bitwise arithmetic helpers in a new module.José Fonseca
2010-09-16gallivm: Fix address register swizzle.José Fonseca
We're actually doing a double swizzling: indirect_reg->Swizzle[indirect_reg->SwizzleX] instead of simply indirect_reg->SwizzleX
2010-09-16gallivm: make lp_build_sample_nop publicKeith Whitwell
2010-09-16gallivm: move i32_vec_type inside the #ifdefBrian Paul
2010-09-16gallivm: fix incorrect vector shuffle datatypeBrian Paul
The permutation vector must always be a vector of int32 values.
2010-09-15draw: Remove unnecessary header.Vinson Lee
2010-09-15gallivm: Remove unnecessary headers.Vinson Lee
2010-09-15gallivm: expand AoS sampling to cover all filtering modesBrian Paul
...and all texture targets (1D/2D/3D/CUBE).
2010-09-15tgsi: fix incorrect usage_mask for shadow tex instructionsBrian Paul
The shadow versions of the texture targets use an extra component (Z) to express distance from light source to the fragment. Fixes the shadowtex demo with llvmpipe.
2010-09-14auxiliary: fix unintended fallthroughLuca Barbieri
2010-09-14gallivm: Remove unnecessary header.Vinson Lee
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-12pb: Fix the build, and add notes.José Fonseca
2010-09-12pb: add void * for flush ctx to mapping functionsDave Airlie
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.
2010-09-11gallivm: nr_channels is only valid for formats with plain layout.José Fonseca
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.
2010-09-11gallivm: Use const keyword on swizzles.José Fonseca
2010-09-11gallivm: Allow to TGSI AoS translation to happen in BGRA ordering.José Fonseca
Or any ordering.
2010-09-11gallivm: Add a new debug flag to warn about performance issues.José Fonseca
2010-09-11gallivm: Helper functions for pointer indirection.José Fonseca
2010-09-11gallivm: Cleanup the TGSI <-> sampler interface.José Fonseca
2010-09-11gallivm: Add some utility functions to set/get array elements too.José Fonseca
2010-09-11gallivm: Basic AoS TGSI -> LLVM IR.José Fonseca
Essentially a variation of the SoA version.
2010-09-11gallivm: Move the texture modifiers to the header.José Fonseca
Useful to pass these around.
2010-09-11gallivm: s/lp_build_broadcast_aos/lp_build_swizzle_scalar_aos/José Fonseca
More accurate description of this function purpose.
2010-09-09draw: minor reformattingBrian Paul
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-05gallivm: Pass condition masks as an unsigned bitmask.José Fonseca
Much more convenient than boolean arrays.
2010-09-05gallivm: Cope with tgsi instruction reallocation failure.José Fonseca