projects
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
5d92596
)
r300/compiler: set the MSB of ADDR for inline constants
author
Marek Olšák
<maraeo@gmail.com>
Tue, 5 Apr 2011 00:44:03 +0000
(
02:44
+0200)
committer
Marek Olšák
<maraeo@gmail.com>
Tue, 5 Apr 2011 04:36:56 +0000
(06:36 +0200)
The docs say so.
src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c
patch
|
blob
|
history
diff --git
a/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c
b/src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c
index 2f8d6e4d04b14b41c9a99cdf3f5b0953ff3ea959..9b5c7c6e4897d0a7ead8e3b1c417002fd0ebc124 100644
(file)
--- a/
src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c
+++ b/
src/mesa/drivers/dri/r300/compiler/r500_fragprog_emit.c
@@
-197,11
+197,14
@@
static void use_temporary(struct r500_fragment_program_code* code, unsigned int
static unsigned int use_source(struct r500_fragment_program_code* code, struct rc_pair_instruction_source src)
{
+ /* From docs:
+ * Note that inline constants set the MSB of ADDR0 and clear ADDR0_CONST.
+ * MSB = 1 << 7 */
if (!src.Used)
- return
0
;
+ return
1 << 7
;
if (src.File == RC_FILE_CONSTANT) {
- return src.Index |
0x100
;
+ return src.Index |
R500_RGB_ADDR0_CONST
;
} else if (src.File == RC_FILE_TEMPORARY) {
use_temporary(code, src.Index);
return src.Index;