projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move compiler.h and imports.h/c from src/mesa/main into src/util
[mesa.git]
/
src
/
compiler
/
glsl
/
ir_clone.cpp
diff --git
a/src/compiler/glsl/ir_clone.cpp
b/src/compiler/glsl/ir_clone.cpp
index 69441fae7de0e5eff396de2a94f110f6f65161de..e46d07d6f43405f94e44ee8405205774e6a71ccd 100644
(file)
--- a/
src/compiler/glsl/ir_clone.cpp
+++ b/
src/compiler/glsl/ir_clone.cpp
@@
-22,7
+22,7
@@
*/
#include <string.h>
*/
#include <string.h>
-#include "
main
/compiler.h"
+#include "
util
/compiler.h"
#include "ir.h"
#include "compiler/glsl_types.h"
#include "util/hash_table.h"
#include "ir.h"
#include "compiler/glsl_types.h"
#include "util/hash_table.h"
@@
-102,6
+102,12
@@
ir_discard::clone(void *mem_ctx, struct hash_table *ht) const
return new(mem_ctx) ir_discard(new_condition);
}
return new(mem_ctx) ir_discard(new_condition);
}
+ir_demote *
+ir_demote::clone(void *mem_ctx, struct hash_table *ht) const
+{
+ return new(mem_ctx) ir_demote();
+}
+
ir_loop_jump *
ir_loop_jump::clone(void *mem_ctx, struct hash_table *ht) const
{
ir_loop_jump *
ir_loop_jump::clone(void *mem_ctx, struct hash_table *ht) const
{
@@
-194,6
+200,7
@@
ir_dereference_array::clone(void *mem_ctx, struct hash_table *ht) const
ir_dereference_record *
ir_dereference_record::clone(void *mem_ctx, struct hash_table *ht) const
{
ir_dereference_record *
ir_dereference_record::clone(void *mem_ctx, struct hash_table *ht) const
{
+ assert(this->field_idx >= 0);
const char *field_name =
this->record->type->fields.structure[this->field_idx].name;
return new(mem_ctx) ir_dereference_record(this->record->clone(mem_ctx, ht),
const char *field_name =
this->record->type->fields.structure[this->field_idx].name;
return new(mem_ctx) ir_dereference_record(this->record->clone(mem_ctx, ht),
@@
-418,8
+425,7
@@
fixup_function_calls(struct hash_table *ht, exec_list *instructions)
void
clone_ir_list(void *mem_ctx, exec_list *out, const exec_list *in)
{
void
clone_ir_list(void *mem_ctx, exec_list *out, const exec_list *in)
{
- struct hash_table *ht =
- _mesa_hash_table_create(NULL, _mesa_hash_pointer, _mesa_key_pointer_equal);
+ struct hash_table *ht = _mesa_pointer_hash_table_create(NULL);
foreach_in_list(const ir_instruction, original, in) {
ir_instruction *copy = original->clone(mem_ctx, ht);
foreach_in_list(const ir_instruction, original, in) {
ir_instruction *copy = original->clone(mem_ctx, ht);