summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300
AgeCommit message (Collapse)Author
2010-10-05r300g: fix microtiling for 16-bits-per-channel formatsMarek Olšák
These texture formats (like R16G16B16A16_UNORM) were untested until now because st/mesa doesn't use them. I am testing this with a hacked st/mesa here.
2010-10-02r300g: add support for L8A8 colorbuffersMarek Olšák
Blending with DST_ALPHA is undefined. SRC_ALPHA works, though. I bet some other formats have similar limitations too.
2010-10-02r300g: add support for R8G8 colorbuffersMarek Olšák
The hw swizzles have been obtained by a brute force approach, and only C0 and C2 are stored in UV88, the other channels are ignored. R16G16 is going to be a lot trickier.
2010-09-30r300g: fix conditional rendering in non-wait pathMarek Olšák
NOTE: This is a candidate for the 7.9 branch.
2010-09-29r300g: add support for formats beginning with X, like X8R8G8B8Marek Olšák
This is actually a format translator fix.
2010-09-28r300g: fix swizzling of texture border colorMarek Olšák
NOTE: This is a candidate for the 7.9 branch.
2010-09-28r300g: add support for 3D NPOT textures without mipmappingMarek Olšák
The driver actually creates a 3D texture aligned to POT and does all the magic with texture coordinates in the fragment shader. It first emulates REPEAT and MIRRORED wrap modes in the fragment shader to get the coordinates into the range [0, 1]. (already done for 2D NPOT) Then it scales them to get the coordinates of the NPOT subtexture. NPOT textures are now less of a lie and we can at least display something meaningful even for the 3D ones. Supported wrap modes: - REPEAT - MIRRORED_REPEAT - CLAMP_TO_EDGE (NEAREST filtering only) - MIRROR_CLAMP_TO_EDGE (NEAREST filtering only) - The behavior of other CLAMP modes is undefined on borders, but they usually give results very close to CLAMP_TO_EDGE with mirroring working perfectly. This fixes: - piglit/fbo-3d - piglit/tex3d-npot
2010-09-28r300g: code cleanupsMarek Olšák
Some random stuff I had here. 1) Fixed some misleading comments. 2) Removed fake_npot, since it's redundant. 3) lower_texture_rect -> scale_texcoords 4) Reordered and reindented some TEX transform code.
2010-09-26r300g: fix macrotiling on R350Marek Olšák
MACRO_SWITCH on R350 appears to use the RV350 mode by default. Who knew? NOTE: This is a candidate for the 7.9 branch.
2010-09-26r300g: Remove unused variable.Vinson Lee
Fixes this GCC warning. r300_state.c: In function 'r300_create_rs_state': r300_state.c:925: warning: unused variable 'i'
2010-09-26r300g: fix glsl-fs-pointcoordDave Airlie
Move GB_ENABLE to derived rs state, and find sprite coord for the correct generic and enable the tex coord for that generic. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-09-24r300g: Silence uninitialized variable warning.Vinson Lee
Silence this GCC warning. r300_state_derived.c: In function 'r300_update_derived_state': r300_state_derived.c:578: warning: 'r' may be used uninitialized in this function r300_state_derived.c:578: note: 'r' was declared here
2010-09-24r300g: fix the border color for every format other than PIPE_FORMAT_B8G8R8A8Marek Olšák
TX_BORDER_COLOR should be formatted according to the texture format. Also the interaction with ARB_texture_swizzle should be fixed too. NOTE: This is a candidate for the 7.9 branch.
2010-09-24r300g: fix a copy-paste typo for loggingMarek Olšák
2010-09-23r300g: Always try to build libr300compiler.aTom Stellard
Make libr300compiler.a a PHONY target so that this library will always be built. This fixes the problem of libr300compiler.a not being updated when r300g is being built and r300c is not. This is a candidate for the Mesa 7.9 branch.
2010-09-24r300g: fix point sprite coord.Dave Airlie
handled elsewhere now. thanks to Droste on irc for pointing out the fix
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-16r300g/swtcl: fix CS overrunMarek Olšák
https://bugs.freedesktop.org/show_bug.cgi?id=29901
2010-09-15r300g: prevent creating multiple winsys BOs for the same handleMarek Olšák
This fixes a DRM deadlock in the cubestorm xscreensaver, because somehow there must not be 2 different BOs relocated in one CS if both BOs back the same handle. I was told it is impossible to happen, but apparently it is not, or there is something else wrong.
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-13r300g/swtcl: unlock VBO after draw_flushMarek Olšák
https://bugs.freedesktop.org/show_bug.cgi?id=29901 https://bugs.freedesktop.org/show_bug.cgi?id=30132
2010-09-13r300g: fix SWTCLMarek Olšák
https://bugs.freedesktop.org/show_bug.cgi?id=29901
2010-09-13r300g: print unassigned FS inputs for DBG_RSMarek Olšák
2010-09-13r300g: add new debug options for dumping scissor regs and disabling CBZB clearMarek Olšák
2010-09-13r300g: skip rendering if CS space validation failsMarek Olšák
radeon_cs_space_check flushes the pipe context on failure, retries the validation, and returns -1 if it fails again. At that point, there is nothing we can do, so let's skip draw operations instead of getting stuck in an infinite loop. This code path ideally should never be hit.
2010-09-13r300g: remove u_upload_flush from r300_draw_arraysMarek Olšák
This a leftover probably and is unnecessary, since we flush u_upload_mgr in r300_flush.
2010-09-10r300/compiler: Enable presubtract sourcesTom Stellard
The r300 compiler can now emit instructions that select from the presubtract source. A peephole optimization has been added to convert instructions like: ADD Temp[0].x, none.1, -Temp[1].x into the INV (1 - src0) presubtract operation.
2010-09-05r300g,r300c: memset the compiler struct to zerosMarek Olšák
This should fix bogus reports "Too many temporaries." and maybe some others.
2010-09-04Revert "r300g: refuse to create a texture with size 0"Marek Olšák
This reverts commit 5cdedaaf295acae13ac10feeb3143d83bc53d314. https://bugs.freedesktop.org/show_bug.cgi?id=30002 Conflicts: src/gallium/drivers/r300/r300_texture.c
2010-09-04r300g: remove unnecessary assignmentsMarek Olšák
2010-09-04r300g: skip draw calls with no vertex elements, fixing hardlocksMarek Olšák
2010-09-04r300g: add a new debug option which disables compiler optimizationsMarek Olšák
Those are: - dead-code elimination - constant folding - peephole (mainly copy propagation) - register allocation There are some bugs which I need to track down. Also fix up the descriptions of all the debug options.
2010-09-04r300/compiler: make optimizations not use 0.5 swizzles in vertex shadersMarek Olšák
2010-09-04r300/compiler: add new compiler parameter max_constantsMarek Olšák
2010-09-04r300g: only check for an empty shader if there are no compile errorsMarek Olšák
2010-09-04r300/compiler: add new compiler parameter max_alu_instsMarek Olšák
2010-08-30r300g: fix warning in winsysMarek Olšák
2010-08-29r300g,u_blitter: use u_framebufferMarek Olšák
Removing another function duplication in u_blitter.
2010-08-28r300g: fix blitting between 2D NPOT mipmapsMarek Olšák
Even though MIP filtering is not supported, we can bind an arbitrary mipmap as the zero mipmap level. NPOT textures now follow GL_TEXTURE_BASE_LEVEL and GL_TEXTURE_MIN_LOD. This fixes piglit/fbo-copyteximage.
2010-08-28r300g: fix min/max lod computationMathias Fröhlich
2010-08-28r300g: set the correct value in PVS_NUM_CNTLRSMarek Olšák
As per docs.
2010-08-27r300g: Include missing header in r300_texture.h.Vinson Lee
Include p_compiler.h for uint32_t and boolean symbols.
2010-08-26r300g: Include missing header in r300_texture_desc.h.Vinson Lee
Include p_format.h for enum pipe_format symbol. Fixes r300g build.
2010-08-26r300g: fix constant buffer upload once again for r3xx->r4xxMarek Olšák
2010-08-25r300g: fix potentially uninitialized variables in create_rs_stateMarek Olšák
It had no impact on correctness, though. Reported by Vinson Lee.
2010-08-25draw: specialized cliptesting routinesKeith Whitwell
2010-08-25gallium: Use draw_set_index_buffer and others.Chia-I Wu
Update all drivers to use draw_set_index_buffer, draw_set_mapped_index_buffer, and draw_vbo. Remove draw_set_mapped_element_buffer and draw_set_mapped_element_buffer_range.
2010-08-25r300g: fix gl_PointCoordMarek Olšák
Is this hackish or is this the correct way to use point_quad_rasterization? Copied from nvfx.
2010-08-25r300g: eliminate unused constants in FSMarek Olšák
2010-08-25r300g: eliminate unused constants in VSMarek Olšák