Brian
1410b7bb50
gallium: collect more shader info in tgsi_scan_shader()
...
Now getting input/output semantic info so we can eventually remove those
fields from pipe_shader_state.
2008-02-26 10:12:17 -07:00
Brian
232a41e19f
gallium: disable debug code
2008-02-26 08:41:42 -07:00
Michal Krol
ad6bb870de
gallium: Fix build on Windows.
2008-02-26 11:49:25 +01:00
Zack Rusin
7838aaffdb
implement cache limits for cso
...
by default set to 4096, which might be on the large side
2008-02-26 01:51:46 -05:00
Zack Rusin
e798510569
add an explicit callback decleration and use it to silence warnings
2008-02-26 01:51:46 -05:00
Zack Rusin
bf1c2f3602
hide cso cache definition and add some initial code for size limiting
...
the caches
2008-02-26 01:51:46 -05:00
Zack Rusin
6abb82da7e
implement deleting of driver side cached state in cso's
2008-02-26 01:51:46 -05:00
Brian
08a5f49644
gallium: rewrite AA point fragment shader to use a CMP instruction instead of IF/ELSE/ENDIF
...
Allows the shader to work on i915 hardware.
2008-02-25 18:56:36 -07:00
Brian
cc0cf1154b
gallium: fix bad ptr assignment
2008-02-25 15:34:46 -07:00
Brian
d6c7f7e314
gallium: modify draw_find_vs_output() to search vertex shader outputs
...
This simplifies drivers using the draw module and removes the last dependency
on vertex-shader "internals". Since the draw module is producing the
post-transformed vertices, it makes sense to ask it where specific vertex
attributes are located.
This could also simplify some things in the state tracker code for selection,
feedback, rasterpos...
2008-02-25 14:46:42 -07:00
José Fonseca
2a0675eb75
Replace standand library functions by portable ones.
2008-02-25 16:39:39 +09:00
José Fonseca
b75706764b
Add Zack's comments about CSOs.
2008-02-25 15:18:33 +09:00
José Fonseca
fdcb9260ee
Add new files.
2008-02-24 17:58:05 +09:00
José Fonseca
7aadb475e5
gallium: Fix MSVC warnings.
2008-02-24 10:37:31 +09:00
Brian
1d77d6caf6
gallium: added new tgsi_scan.c / tgsi_scan_shader() function
...
Used to get information about registers, instructions used in a shader.
2008-02-23 16:15:29 -07:00
José Fonseca
e9bb63c8e2
gallium: MSVC fixes.
2008-02-24 02:23:12 +09:00
José Fonseca
e8de5c70e3
Bring in several forgotten MSVC fixes.
2008-02-23 14:14:54 +09:00
Brian
e9276efafe
gallium: fix bug in which wide point stage overrode the aapoint stage
...
Also, simplify the logic a bit.
2008-02-22 17:22:54 -07:00
José Fonseca
f1bef2cba2
gallium: Countour MSVC's pickyness for structures returned by value.
2008-02-23 00:51:48 +09:00
José Fonseca
901b03e84d
gallium: Wrap decls in extern "C".
2008-02-23 00:51:37 +09:00
José Fonseca
6c597238b2
gallium: Add cso convenience routine (from Keith's patch).
2008-02-23 00:51:33 +09:00
José Fonseca
2cf860b866
gallium: MSVC fixes.
2008-02-23 00:51:29 +09:00
Michal Krol
57060bc1fa
gallium: Silence compiler warnings on Windows.
2008-02-23 00:51:15 +09:00
Brian
446bfc32a8
gallium: new draw stage for polygon stipple.
...
For hardware without native polygon stipple. Create a 32x32 alpha texture
that encodes the stipple pattern. Modify the user's fragment program to
sample the texture (with gl_FragCoord) and kill the fragment according to
the texel value.
Temporarily enabled in softpipe driver, replacing the sp_quad_stipple.c step.
2008-02-21 16:56:32 -07:00
Brian
eb4dc2dd5e
gallium: new AA point drawing stage
...
AA points are drawn by converting the point to a quad, then modifying the
user's fragment shader to compute a coverage value. The final fragment
color's alpha is modulated by the coverage value. Fragments outside the
point's radius are killed.
2008-02-21 16:18:05 -07:00
Keith Whitwell
30479ef110
draw: vertex cache rework
...
Take a baby step to straightening out vertex paths.
2008-02-21 19:17:27 +00:00
Keith Whitwell
1eaf7b775b
tgsi: print debug messages on failure to codegenerate
2008-02-21 19:17:27 +00:00
Brian
228f6b9788
gallium: re-fix some msvc warnings
2008-02-20 15:32:41 -07:00
José Fonseca
5480a6bc13
Fix windows build.
2008-02-19 18:57:25 +09:00
José Fonseca
b62f0ddd09
Portability fixes.
...
Eliminate C99/C++ constructs.
(We should actually disable gcc C99 syntax options if we are serious about
portability.)
2008-02-19 18:56:55 +09:00
José Fonseca
b9da3791c9
Remove src/mesa and src/mesa/main from gallium source include paths.
2008-02-19 15:07:53 +09:00
José Fonseca
5d78212d75
Bring in ppc spe rtasm into gallium's rtasm module.
...
Moving files since these are not being used outside gallium.
2008-02-19 14:06:11 +09:00
José Fonseca
b0eef0dc25
Add run-time cpu capabilities detection stubs.
2008-02-19 14:06:11 +09:00
José Fonseca
90b2beb661
Simplify makefile boilerplate code.
...
Don't define ASM_SOURCES variable globally -- reserve that variable to be defined
locally by makefiles, together with C_SOURCES and CPP_SOURCES.
2008-02-19 14:06:11 +09:00
José Fonseca
f430d95a36
Use gallium's rtasm module.
2008-02-19 14:01:49 +09:00
José Fonseca
17158c2f00
Move mm.c code into util module.
...
Using the u_ prefix to distingish the c source files that support gallium
interfaces and those that have really no relation with gallium itself.
2008-02-19 14:01:49 +09:00
José Fonseca
d2f6c9ab10
Add copyright headers to all rtasm source files.
2008-02-19 14:01:49 +09:00
José Fonseca
39ea030842
Rename rtasm files.
2008-02-19 14:01:49 +09:00
José Fonseca
df8ab3140c
Bring rtasm from mesa to gallium.
2008-02-19 14:01:49 +09:00
José Fonseca
e773a813cf
Initial scons support to build gallivm.
...
Not yet complete.
2008-02-19 14:01:49 +09:00
Brian
478c14453b
gallium: remove the prototype/unused wide_line_aa() function
2008-02-18 16:50:07 -07:00
Brian
aceeb80d4f
gallium: antialiased line drawing
...
New draw/prim stage: draw_aaline. When installed, lines are replaced by
textured quads to do antialiasing. The current user-defined fragment shader
is modified to do a texture fetch and modulate fragment alpha.
2008-02-18 16:19:05 -07:00
José Fonseca
0448dbd64a
Update for llvm -> gallivm rename.
2008-02-18 12:33:34 +00:00
José Fonseca
3f3b09d6d8
Rename llvm -> gallivm.
...
Following the directory == library name policy simplifies the build system.
2008-02-18 20:05:06 +09:00
José Fonseca
687a8b96ef
Standardize on using the pipe/ include prefix.
2008-02-18 20:02:42 +09:00
José Fonseca
33ceb6716a
Update scons build for new code layout.
2008-02-18 10:52:44 +00:00
José Fonseca
bfd5916eaf
Code reorganization: split gallium and mesa makefiles.
...
In other words, don't build src/gallium source code from within src/mesa/Makefile.
Also, allow to customize which gallium auxiliary dirs, driver driver, winsys
dirs get built from the config/* files.
2008-02-18 14:25:04 +09:00
Zack Rusin
4a79156812
fix the build
2008-02-17 09:43:02 -05:00
Ian Romanick
b08d3fa249
Make this file build on non-SSE builds (e.g., Cell)
2008-02-15 10:00:31 -08:00
Keith Whitwell
c179bc9901
tgsi: pass through failure to sse-codegenerate for fragment programs too.
...
In particular, will fallback to interpreted execution for shaders with
TEX instructions.
2008-02-15 13:39:24 +00:00
Keith Whitwell
b29d8d2729
draw: subclass vertex shaders according to execution method
...
Create new files for shaders compiled/executed with llvm, sse, exec
respectively
2008-02-15 13:37:01 +00:00
Keith Whitwell
30d0bacf7a
Merge commit 'origin/gallium-0.1' into gallium-0.1
2008-02-15 11:18:04 +00:00
José Fonseca
66f22aa3bf
Code reorganization: s/aux/auxiliary/ -- update build.
2008-02-15 20:11:40 +09:00
José Fonseca
92fcbf6e7b
Code reorganization: s/aux/auxiliary/.
...
"aux" is a reserved name on Windows (X_X)
2008-02-15 20:07:18 +09:00