diff options
author | Tom Stellard <[email protected]> | 2012-06-01 16:10:06 -0400 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2012-06-01 16:52:26 -0400 |
commit | 85a68814ee98d649e92223a42bab9db7392649ba (patch) | |
tree | 60258b425644f09ae4a7ea8c4f39936a0f5b0b5f | |
parent | fb79ecb62d41332c535bd5fd9c229a85c79c468b (diff) |
radeon/llvm: Only use indirect (vertex fetch) parameters for kernels
Kernel parameters can only be retrieved via vertex fetchs. Direct
parameters (i.e parameters stored in the constant buffer) are not
supported yet.
-rw-r--r-- | src/gallium/drivers/radeon/R600KernelParameters.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeon/R600KernelParameters.cpp b/src/gallium/drivers/radeon/R600KernelParameters.cpp index 53bfebc7364..e810023b651 100644 --- a/src/gallium/drivers/radeon/R600KernelParameters.cpp +++ b/src/gallium/drivers/radeon/R600KernelParameters.cpp @@ -45,7 +45,7 @@ class R600KernelParameters : public FunctionPass struct param { param() : val(NULL), ptr_val(NULL), offset_in_dw(0), size_in_dw(0), - indirect(false), specialID(0) {} + indirect(true), specialID(0) {} Value* val; Value* ptr_val; @@ -74,7 +74,7 @@ class R600KernelParameters : public FunctionPass void Replace(Function* fun); bool isIndirect(Value* val, std::set<Value*>& visited); void Propagate(Function* fun); - void Propagate(Value* v, const Twine& name, bool indirect = false); + void Propagate(Value* v, const Twine& name, bool indirect = true); Value* ConstantRead(Function* fun, param& p); Value* handleSpecial(Function* fun, param& p); bool isSpecialType(Type*); @@ -150,6 +150,9 @@ int R600KernelParameters::getListSize() bool R600KernelParameters::isIndirect(Value* val, std::set<Value*>& visited) { + //XXX Direct parameters are not supported yet, so return true here. + return true; +#if 0 if (isa<LoadInst>(val)) { return false; @@ -196,6 +199,7 @@ bool R600KernelParameters::isIndirect(Value* val, std::set<Value*>& visited) } return false; +#endif } void R600KernelParameters::AddParam(Argument* arg) |