Commit Graph

404 Commits

Author SHA1 Message Date
Keith Whitwell fe2b31e4a8 tgsi: rename fields of tgsi_full_declaration to reduce verbosity
DeclarationRange -> Range
2009-11-24 15:04:18 +00:00
Keith Whitwell 7d6c8f980d tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosity
InstructionPredicate -> Predicate
InstructionLabel -> Label
InstructionTexture -> Texture
FullSrcRegisters -> Src
FullDstRegisters -> Dst
2009-11-24 15:02:23 +00:00
Michal Krol cb90c43676 Rename TGSI LOOP instruction to better match theri usage.
The LOOP/ENDLOOP pair is renamed to BGNFOR/ENDFOR as its behaviour
is similar to a C language for-loop.

The BGNLOOP2/ENDLOOP2 pair is renamed to BGNLOOP/ENDLOOP as now
there is no name collision.
2009-07-31 18:14:40 +02:00
Keith Whitwell adc6f8cdfc gallivm: updates for TGSI changes
make linux-llvm succeeds, but doesn't seem to be working, at least with
llvm 2.5
2009-07-23 17:59:08 +01:00
Keith Whitwell 78379abcbf gallium: remove deprecated TGSI opcodes
Various opcodes which can be implemented trivially with other TGSI opcodes,
such as matrix multiplication and negation.  These were not used by any
state tracker or implemented by any of the drivers.
2009-07-23 14:38:26 +01:00
Keith Whitwell fd31f92cea gallium: simplify tgsi_full_immediate struct
Remove the need to have a pointer in this struct by just including
the immediate data inline.  Having a pointer in the struct introduces
complications like needing to alloc/free the data pointed to, uncertainty
about who owns the data, etc.  There doesn't seem to be a need for it,
and it is unlikely to make much difference plus or minus to performance.

Added some asserts as we now will trip up on immediates with more
than four elements.  There were actually already quite a few such asserts,
but the >4 case could be used in the future to specify indexable immediate
ranges, such as lookup tables.
2009-07-22 12:42:09 +01:00
Dave Airlie 8064a517b2 llvm: fix compile on gcc 4.4 2009-06-08 18:26:27 +10:00
José Fonseca ea4bf267e4 util: Move p_debug.h into util module.
The debug functions depend on several util function for os abstractions, and
these depend on debug functions, so a seperate module is not possible.
2009-02-18 12:05:26 +00:00
Michal Krol a872b518c9 gallivm: Fix build -- rename Size to NrTokens. 2009-02-10 15:16:35 +01:00
Michel Dänzer 45604ffac7 gallivm: Make sure the bitcode buffer is followed by a 0 byte.
May fail to parse otherwise.
2009-01-12 15:05:05 +01:00
Michel Dänzer f43e621e22 gallivm: Print error message from ParseBitcodeFile() in case it fails. 2009-01-12 12:39:31 +01:00
Michel Dänzer f586c31fa6 gallivm: Adapt to header file move in LLVM 2.4. 2009-01-12 12:34:27 +01:00
Stephane Marchesin 7b0e0e1a0d gallivm: fix some small stuff. 2008-11-16 20:32:05 +01:00
Stephane Marchesin b81a7dc2d8 gallivm: replace the temp parameters of the JIT function with alloca'ed temps. This avoids useless writes of temporary results. 2008-10-30 23:52:59 +01:00
Keith Whitwell d7f1cb5b5a Merge commit 'origin/gallium-0.1' into gallium-0.2
Conflicts:

	src/gallium/auxiliary/gallivm/instructionssoa.cpp
	src/gallium/auxiliary/gallivm/soabuiltins.c
	src/gallium/auxiliary/rtasm/rtasm_x86sse.c
	src/gallium/auxiliary/rtasm/rtasm_x86sse.h
	src/mesa/main/texenvprogram.c
	src/mesa/shader/arbprogparse.c
	src/mesa/shader/prog_statevars.c
	src/mesa/state_tracker/st_draw.c
	src/mesa/vbo/vbo_exec_draw.c
2008-10-10 15:23:36 +01:00
Stephane Marchesin db9de99925 Gallivm: cleanup soa storage. 2008-10-09 23:32:01 +02:00
Stephane Marchesin a0809c5271 Gallivm: reorder the functions alphabetically so I can work on it. 2008-10-07 23:43:21 +02:00
Stephane Marchesin 85e578bbc7 Gallivm: don't say hello, it's rude. 2008-10-07 21:13:49 +02:00
Stephane Marchesin 94ba48bd85 Gallivm: fix the constant layout, this gets a bunch of progs/ working. Notably, gears doesn't. 2008-10-07 21:11:01 +02:00
Stephane Marchesin 8bdb4d2b2f Gallivm: add slt. glxgears should be running, except it isn't. 2008-10-02 10:19:47 -04:00
Stephane Marchesin 3f4b67f5d7 Gallivm: port to llvm 2.4. 2008-10-02 10:19:47 -04:00
Stephane Marchesin fdcaf569d4 Gallivm: fix off-by-one. 2008-10-02 10:19:47 -04:00
Stephane Marchesin 0116ea34e1 Gallivm: more instructions. 2008-10-02 10:19:47 -04:00
Stephane Marchesin 3f477e111a Gallivm: make it compile again, add some opcodes. 2008-10-02 10:19:47 -04:00
Stephane Marchesin a6ff215777 Gallivm: add slt. glxgears should be running, except it isn't. 2008-10-01 00:00:58 +02:00
Stephane Marchesin 4ae161e940 Gallivm: port to llvm 2.4. 2008-09-30 20:50:49 +02:00
Stephane Marchesin 7379d0ef8f Gallivm: fix off-by-one. 2008-09-28 23:18:55 +02:00
Stephane Marchesin a0a06cbc5b Gallivm: more instructions. 2008-09-28 19:48:26 +02:00
Stephane Marchesin ab74b8e354 Gallivm: make it compile again, add some opcodes. 2008-09-28 18:33:23 +02:00
Brian Paul 4f25420bdd gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h
Also, rename p_tile.[ch] to u_tile.[ch]
2008-08-24 17:48:55 -06:00
Michal Krol f633b14b92 gallivm: Translate KIL instead of KILP. 2008-08-13 10:58:54 +02:00
José Fonseca c208a2c791 Merge tgsi/exec and tgsi/util directories. 2008-07-28 12:42:13 +09:00
Stephane Marchesin 92d711e9e6 llvm: build fixes. 2008-07-13 11:33:41 +02:00
Michal Krol 3de18c2ac3 gallivm: Fix build after TGSI declaration interface changes. 2008-05-31 19:41:29 +02:00
Zack Rusin 0bf82c0111 cosmetic changes 2008-05-17 13:58:45 -04:00
Zack Rusin a7449d4d84 fix rsq 2008-05-17 13:58:44 -04:00
Zack Rusin 02e45b2dad fix abs and start on rsq 2008-05-17 13:58:44 -04:00
Zack Rusin 1d1cf8edf6 do the lit (some artifacts present) 2008-05-17 13:58:44 -04:00
Zack Rusin ea1a607292 implement min/max and abstract ops on vectors 2008-05-17 13:58:44 -04:00
Zack Rusin 59766ac273 llvm: implement sub and abs 2008-05-17 13:58:44 -04:00
Zack Rusin 735752e8dc fix injections of functions from builtins into shaders 2008-05-17 13:58:44 -04:00
Zack Rusin aeae57693b move the swizzling code to gallivm in preperation for code-generating it
also some minor cleanups
2008-05-17 13:58:44 -04:00
Zack Rusin 19f15277d1 adjust llvm code to the changes in 2.3 2008-05-12 17:17:18 -04:00
Zack Rusin fb1c09305e Use llvm 2.3 (2.2 won't work because of a lot of problems, e.g.
lack of constant vectors handling in execution engine)
2008-04-21 15:18:13 -04:00
Zack Rusin 201ac414d4 make llvm draw paths compile with the latest changes
switch the method of distribution of builtins (to get rid of the
llvm2cpp dependency)
2008-04-21 00:26:18 -04:00
Michal Krol bcb454e7a6 tgsi: Drop pre-ps_2_0 opcodes. 2008-03-13 18:12:36 +01:00
Zack Rusin cac037d36d add code handling dependencies between generated code 2008-03-12 22:57:52 -04:00
Zack Rusin 2366bb1baf Add some basic documentation for gallivm code 2008-03-12 22:06:51 -04:00
Zack Rusin a9c40f833e refactor code calling builtins and implement dp4 2008-03-01 15:28:00 -05:00
Zack Rusin 17f543fc45 make the first builtin work (dp3) 2008-03-01 15:28:00 -05:00
Zack Rusin e884c7ed9a start implementing start of bultins 2008-03-01 15:28:00 -05:00
José Fonseca 9a8a5d7c2f gallium: Replace // comments. 2008-02-27 16:42:15 +09:00
José Fonseca e773a813cf Initial scons support to build gallivm.
Not yet complete.
2008-02-19 14:01:49 +09: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