Commit graph

38182 commits

Author SHA1 Message Date
Keith Whitwell
29bcbf5e79 llvmpipe: track drawing region as a single u_rect 2010-08-25 10:29:27 +01:00
Keith Whitwell
d808f7b53e llvmpipe: better triangle debugging 2010-08-25 10:29:27 +01:00
Keith Whitwell
c25151dd6a llvmpipe: cull zero-area triangles early 2010-08-25 10:29:27 +01:00
Keith Whitwell
98f3ff8f4a llvmpipe: more rasterization counters 2010-08-25 10:29:27 +01:00
Keith Whitwell
5a45e53df4 llvmpipe: move some fence functions into lp_screen.c 2010-08-25 10:29:27 +01:00
Keith Whitwell
1e926fe42a llvmpipe: wake all threads waiting on a fence 2010-08-25 10:29:27 +01:00
Keith Whitwell
b6e03eafe3 llvmpipe: fence debugging, add llvmpipe_finish 2010-08-25 10:29:27 +01:00
Keith Whitwell
285ea417ef tgsi: helper for dumping tokens as hex 2010-08-25 10:29:26 +01:00
Keith Whitwell
6c0dc4bafb draw: specialized cliptesting routines 2010-08-25 10:29:21 +01:00
Keith Whitwell
4cef308726 util: add rectangle helpers to u_rect.h
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-25 10:07:36 +01:00
Keith Whitwell
bc3cff2a4f gallium/docs: notes on scissor state 2010-08-25 10:07:36 +01:00
Keith Whitwell
f77daaa882 llvmpipe: remove dead code 2010-08-25 10:07:36 +01:00
Chia-I Wu
d29d7807c1 draw: Remove UNDEFINED_VERTEX_ID checks in emit pathes.
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).
2010-08-25 16:23:01 +08:00
Chia-I Wu
22f6026324 gallium: Use draw_set_index_buffer and others.
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-25 16:06:45 +08:00
Chia-I Wu
94e8d4171d svga: Remove redundant svga_draw_range_elements.
That is, implement draw_vbo directly.  As a result,
svga_swtnl_draw_range_elements is also replaced by svga_swtnl_draw_vbo.

This commit should not have any functional change.
2010-08-25 16:06:38 +08:00
Chia-I Wu
4f024e0f64 draw: Add draw_set_index_buffer and others.
This commit adds draw_set_index_buffer, draw_set_mapped_index_buffer,
and draw_vbo.  The idea behind the new functions is that an index buffer
should be a state.

draw_arrays and draw_set_mapped_element_buffer are preserved, but the
latter will be removed soon.
2010-08-25 16:06:37 +08:00
Vinson Lee
4e82319733 nvfx: Clean up header file inclusion in nvfx_screen.h.
Remove nvfx_context.h.
Include p_compiler.h for INLINE symbol.

Fixes nvfx_context.h -> nvfx_screen.h -> nvfx_context.h include recursion.
2010-08-25 00:52:34 -07:00
Vinson Lee
fbc3a911e1 nvfx: Include missing headers in nvfx_shader.h.
Include stdint.h for uint8_t symbol.
Include p_compiler.h for INLINE symbol.
2010-08-25 00:44:28 -07:00
Vinson Lee
cc4925bfe6 i965: Remove unnecessary header. 2010-08-25 00:40:00 -07:00
Vinson Lee
a8177e7456 r600: Include missing header in evergreen_fragprog.c.
Include r600_emit.h for r600EmitShader and r600EmitShaderConsts symbols.

Fixes the following GCC warnings.
evergreen_fragprog.c: In function 'evergreenSetupFragmentProgram':
evergreen_fragprog.c:521: warning: implicit declaration of function 'r600EmitShader'
evergreen_fragprog.c:778: warning: implicit declaration of function 'r600EmitShaderConsts'
2010-08-25 00:29:19 -07:00
Vinson Lee
cab86cb765 r600: Include missing header in evergreen_vertprog.c.
Include r600_emit.h for r600EmitShader and r600EmitShaderConsts symbols.

Fixes the following GCC warnings.
evergreen_vertprog.c:614: warning: implicit declaration of function 'r600EmitShader'
evergreen_vertprog.c:701: warning: implicit declaration of function 'r600EmitShaderConsts'
2010-08-25 00:19:45 -07:00
Vinson Lee
deffeba172 gallivm: Include missing header in lp_bld_sample.h.
Include p_format.h for enum pipe_format symbol.
2010-08-24 23:53:26 -07:00
Vinson Lee
72ae834fa1 gallivm: Include missing header in lp_bld_pack.h.
Include p_compiler.h for boolean symbol.
2010-08-24 23:50:45 -07:00
Vinson Lee
0ae6b30c14 r300/compiler: Silence uninitialized variable warning.
The variable loops would be used uninitialized if it ever processed a
RC_OPCODE_ENDLOOP case first.

This patch initalizes the loops variable to NULL and adds an assert at
the RC_OPCODE_ENDLOOP case that loops isn't NULL.

Silence the following GCC warning.
r3xx_vertprog.c: In function 'translate_vertex_program':
r3xx_vertprog.c:469: warning: 'loops' may be used uninitialized in this function
2010-08-24 23:04:20 -07:00
Vinson Lee
19f9340e67 r300g: Add missing comma in SConscript.
This is a follow-on patch to commit
574ba4b5f5.

Fixes r300g SCons build.
2010-08-24 22:28:21 -07:00
Marek Olšák
879a730231 r300g: fix gl_PointCoord
Is this hackish or is this the correct way to use point_quad_rasterization?
Copied from nvfx.
2010-08-25 04:57:11 +02:00
Vinson Lee
3a97ec7f48 r600: Include missing header in evergreen_render.c.
Fixes the following GCC warning.
evergreen_render.c: In function 'evergreenTryDrawPrims':
evergreen_render.c:836: error: implicit declaration of function 'evergreenSetupFragmentProgram'
2010-08-24 19:08:47 -07:00
Vinson Lee
8cf7eaf3ff r600: Remove unused variable.
Silences the following GCC warning.
evergreen_state.c: In function 'evergreenSetBlendState':
evergreen_state.c:341: warning: unused variable 'id'
2010-08-24 19:04:19 -07:00
Vinson Lee
e96b311037 i965: Fix printf format warnings on 32-bit builds. 2010-08-24 18:51:56 -07:00
Vinson Lee
3db9d4b253 r600: Remove unused variable.
Fixes the following GCC warning.
r600_emit.c In function 'r600AllocShaderConsts':
r600_emit.c:59: warning: unused variable 'out'
2010-08-24 18:32:51 -07:00
Vinson Lee
67925c6cd6 r600: Remove spaces between backslash and newline.
Fixes the following GCC warnings.
r600_cmdbuf.h:201: warning: backslash and newline separated by space
r600_cmdbuf.h:202: warning: backslash and newline separated by space
2010-08-24 18:20:26 -07:00
Marek Olšák
0a21938de9 r300g: eliminate unused constants in FS 2010-08-25 02:44:29 +02:00
Marek Olšák
abae06ac85 r300g: eliminate unused constants in VS 2010-08-25 02:44:29 +02:00
Marek Olšák
62eb9eda1d r300g: clean up some mess in set_constant_buffer 2010-08-25 02:44:29 +02:00
Marek Olšák
2eeaf773fd r300g: fix indentation 2010-08-25 02:44:28 +02:00
Marek Olšák
574ba4b5f5 r300/compiler: implement elimination of unused constants
Wine likes to create a *lot* of constants, exceeding the size of the constant
file in hw.
2010-08-25 02:44:28 +02:00
Marek Olšák
4b9b2a3cdc r300/compiler: terminate vertex shader compilation immediately after an error
Also rename "compiler" to "c".
2010-08-25 02:44:28 +02:00
Marek Olšák
1802007ee9 r300/compiler: fail to compile if we hit hw limits or an unimplemented feature
i.e. relative addressing (mainly FS), saturate modifiers, exceeding
the maximum number of constants.
2010-08-25 02:44:28 +02:00
Marek Olšák
6c88f84bdd r300/compiler: handle indexable temporaries correctly in deadcode elimination 2010-08-25 02:44:28 +02:00
Marek Olšák
3aee8c3b1d r300/compiler: disable register allocation for indexable temporaries in VS
If there is relative addressing of temporaries, we cannot change register
indices, so skip register allocation entirely. To utilize register allocation
at least partially, we need separate indexable and non-indexable register
files in both TGSI and Mesa IR.
2010-08-25 02:44:28 +02:00
Marek Olšák
cb925970ee r300g: reset the index bias to 0 at the end of CS 2010-08-25 02:44:28 +02:00
Marek Olšák
5755d1d6a7 ir_to_mesa: set IndirectRegisterFiles
This fixes relative addressing of temporaries (and maybe others)
in all gallium drivers.

Acked on irc by Eric Anholt.
2010-08-25 02:44:28 +02:00
Vinson Lee
57e66ed9b1 nvfx: Initialize variables on error path. 2010-08-24 17:40:50 -07:00
Eric Anholt
2f5bf20e44 glsl: Set up uniform initializers by walking the shaders after linking.
Previously, uniform initializers were handled by ir_to_mesa as it made
its Parameters list.  However, uniform values are global to all
shaders, and the value set in one Parameters list wasn't propagated to
the other gl_program->Parameters lists.  By going back through the
general Mesa uniform handling, we make sure that all gl_programs get
updated values, and also successfully separate uniform initializer
handling from ir_to_mesa gl_program generation.

Fixes:
glsl-uniform-initializer-5.
2010-08-24 16:37:02 -07:00
Eric Anholt
7de4d8fe11 glsl: Don't dead-code eliminate a uniform initializer.
Partial fix for glsl-uniform-initializer-5.
2010-08-24 16:37:02 -07:00
Dave Airlie
37f0654fa5 r300g: rename radeong_dri.so to r300_dri.so
acked on irc by Corbin + Marek.
2010-08-25 06:10:01 +10:00
Brian Paul
ad58f0d9e0 make: Use C++ compiler to link stdc++ library.
glxinfo and glxgears run on swrast and softpipe without undefined symbol
errors.
2010-08-24 12:18:09 -07:00
Vinson Lee
d3772eab2d configs: Remove -lstdc++ from default.
This patch undoes commit 9b7480cd95.

A follow-on patch will provide the proper fix.
2010-08-24 12:14:14 -07:00
Henri Verbeet
547e867558 r600g: Add support for PIPE_FORMAT_R32_FLOAT. 2010-08-24 20:52:21 +02:00
Ian Romanick
0eb2026c87 prog_execute: Implement OPCODE_TXL
Fixes bugzilla #29628
2010-08-24 10:27:14 -07:00