José Fonseca
1127201088
llvmpipe: Better abs for floating points.
2009-09-07 15:02:08 +01:00
José Fonseca
e4c76c02f7
llvmpipe: Code generate the texture sampling inside the shader.
...
Finally a substantial performance improvement: framerates of apps using
texturing tripled, and furthermore, enabling/disabling texturing only
affects around 15% of the framerate, which means the bottleneck is now
somewhere else.
Generated texture sampling code is not complete though -- we always
sample from the base level -- so final figures will be different.
2009-09-07 15:02:08 +01:00
José Fonseca
de8376e2f2
llvmpipe: Texture sampling code generation primitives.
...
Only supports single level 2d textures, with neareast and bilinear
filtering for now.
2009-09-07 15:02:07 +01:00
José Fonseca
0c2ea24338
llvmpipe: Convenience function to obtain the integer type with same bitdepth of an arbitrary type.
2009-09-07 15:02:07 +01:00
José Fonseca
fa0f4b35be
llvmpipe: Utility functions for linear and bilinear interpolation.
2009-09-07 15:02:07 +01:00
José Fonseca
4da20234f3
llvmpipe: Correct implementation of floor.
2009-09-07 15:02:07 +01:00
José Fonseca
b1eff018c7
llvmpipe: Utility function to get the pointer to a structure member.
2009-09-07 15:02:07 +01:00
José Fonseca
866fbacf2b
llvmpipe: SoA pixel unpacking specialization.
2009-09-07 15:02:06 +01:00
José Fonseca
6b129a8222
util: Utility function to check if a number is a power of two.
2009-09-07 15:02:06 +01:00
José Fonseca
8be72bb764
llvmpipe: Further abstract the texture sampling generation from TGSI translation.
2009-09-07 15:02:06 +01:00
Michal Krol
8bed21ecf9
grammar: Remove grammar_check().
2009-09-07 10:55:45 +02:00
Michal Krol
5ad8937752
glsl: Add error messages for version parser.
2009-09-07 10:12:12 +02:00
Michal Krol
b7960b3d3a
glsl: Handle file tokens in apps/process.
2009-09-07 10:12:11 +02:00
Michal Krol
a64ba93aab
glsl: Handle file numbering.
2009-09-07 10:12:10 +02:00
Michal Krol
2d2d638444
glsl: Actually respect the hash-line directive.
2009-09-07 10:12:09 +02:00
Michal Krol
b6df77fb9a
glsl: Handle line tokens in apps/process.
2009-09-07 10:12:08 +02:00
Michal Krol
4aa3222df3
glsl: Correctly handle line numbering.
2009-09-07 10:12:07 +02:00
Michal Krol
0d9c5eafeb
glsl: Preserve newline inside comment blocks.
2009-09-07 10:12:06 +02:00
Michal Krol
e8afc65589
glsl: Implement predefinded macros.
...
The values are hardcoded: __LINE__ = 1, __FILE__ = 0 and __VERSION__ = 110.
2009-09-07 10:12:05 +02:00
Michal Krol
bb8f38ea6f
glsl: Implement `line' preprocessor directive.
2009-09-07 10:12:03 +02:00
Michal Krol
ddd8ae7fbc
glsl: Output endof token after processing a directive.
...
Some directives may output tokens as a result of their operation.
2009-09-07 10:12:03 +02:00
Michal Krol
7f187583c1
glsl: Handle extension tokens in apps/proces.
2009-09-07 10:12:02 +02:00
Michal Krol
87d2de04fb
glsl: Implement `extension' preprocessor directive.
...
No extensions supported.
2009-09-07 10:12:00 +02:00
Michal Krol
94321b4441
glsl: Handle pragma tokens in apps/process.
2009-09-07 10:11:59 +02:00
Michal Krol
0e046420e4
glsl: Implement `pragma' preprocessor directive.
...
Handle `optimize(on|off)' and `debug(on|off)' pragmas.
2009-09-07 10:11:58 +02:00
Michal Krol
c42428c787
glsl: Print out error message in apps/process.
2009-09-07 10:11:56 +02:00
Michal Krol
f9bd6f7152
glsl: Implement `error' preprocessor directive.
2009-09-07 10:11:55 +02:00
Michal Krol
3dc2b5f71c
glsl: Implement `undef' preprocessor directive.
2009-09-07 10:11:54 +02:00
Michal Krol
a294715612
glsl: Allow for preprocessor macro redefinition.
2009-09-07 10:11:52 +02:00
Michal Krol
153b179862
glsl: Handle `defined' preprocessor operator.
2009-09-07 10:11:51 +02:00
Michal Krol
3b027bca9d
glsl: Support if preprocessor directive and friends.
2009-09-07 10:11:50 +02:00
Michal Krol
3bb446ba6e
glsl: Add expression interpreter.
2009-09-07 10:11:49 +02:00
Michal Krol
2dad8ed9d6
glsl: Centralise sl_pp_macro constructor.
2009-09-07 10:11:48 +02:00
Michal Krol
6a11d4150c
glsl: Implement macro expansion.
2009-09-07 10:11:47 +02:00
Michal Krol
5e8e3cddae
glsl: Rename sl_pp_context_add_str to sl_pp_context_add_unique_str.
...
Return the same offset for same strings. Allows to compare strings
by comparing their's offsets.
2009-09-07 10:11:46 +02:00
Michal Krol
fd991d845a
glsl: Parse define directive in preprocessor.
2009-09-07 10:11:45 +02:00
Michal Krol
3ce5e66818
glsl: Simplify directive parser skeleton.
2009-09-07 10:11:44 +02:00
Michal Krol
f24322fbf6
glsl: Introduce sl_pp_context and maintain a reuseable pool of strings.
2009-09-07 10:11:43 +02:00
Michal Krol
f24ec185c5
glsl: Add `process' test app that returns tokenised and preprocessed text.
2009-09-07 10:11:42 +02:00
Michal Krol
9d336c5264
glsl: Add preprocessor skeleton for directive parsing.
2009-09-07 10:11:40 +02:00
Michal Krol
5d26deef98
glsl: Remove bogus sl_pp_directive.h include.
2009-09-07 10:11:39 +02:00
Michal Krol
b4e92367f3
glsl: Allow for multiple version statements.
2009-09-07 10:11:38 +02:00
Michal Krol
55f75c13f0
glsl/apps: Print out the number of tokens eaten in version test.
2009-09-07 10:11:38 +02:00
Michal Krol
474f754282
glsl: Raise an error on an unfinished comment block.
2009-09-07 10:11:37 +02:00
Michal Krol
af617c6037
glsl/apps: Add version test app.
2009-09-07 10:11:36 +02:00
Michal Krol
229e72956c
glsl: Parse optional version directive.
2009-09-07 10:11:33 +02:00
Michal Krol
0d5ef796f8
glsl: Add a tokenise app.
2009-09-07 10:11:32 +02:00
Michal Krol
2c9a627b48
glsl: Add a preprocessor tokeniser.
2009-09-07 10:11:31 +02:00
Michal Krol
121769eeb3
glsl: Add a purify command-line tool.
2009-09-07 10:11:30 +02:00
Michal Krol
0bbf59c305
glsl: Add preprocessor purifier.
2009-09-07 10:11:29 +02:00