Commit Graph

9204 Commits

Author SHA1 Message Date
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