| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009, Google Inc. | 2 * Copyright 2009, Google Inc. |
| 3 * All rights reserved. | 3 * All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 247 | 247 |
| 248 virtual void SetEffectParam(RendererD3D9* renderer, ID3DXEffect* d3d_effect) { | 248 virtual void SetEffectParam(RendererD3D9* renderer, ID3DXEffect* d3d_effect) { |
| 249 ParamArray* param = param_->value(); | 249 ParamArray* param = param_->value(); |
| 250 if (param) { | 250 if (param) { |
| 251 unsigned size = param->size(); | 251 unsigned size = param->size(); |
| 252 if (size != sampler_unit_index_arrays_.size()) { | 252 if (size != sampler_unit_index_arrays_.size()) { |
| 253 O3D_ERROR(param->service_locator()) | 253 O3D_ERROR(param->service_locator()) |
| 254 << "number of params in ParamArray does not match number of params " | 254 << "number of params in ParamArray does not match number of params " |
| 255 << "needed by shader array"; | 255 << "needed by shader array"; |
| 256 } else { | 256 } else { |
| 257 for (int i = 0; i < size; ++i) { | 257 for (unsigned i = 0; i < size; ++i) { |
| 258 SamplerUnitIndexArray& index_array = sampler_unit_index_arrays_[i]; | 258 SamplerUnitIndexArray& index_array = sampler_unit_index_arrays_[i]; |
| 259 Param* untyped_element = param->GetUntypedParam(i); | 259 Param* untyped_element = param->GetUntypedParam(i); |
| 260 // TODO(gman): Make this check happen when building the param cache. | 260 // TODO(gman): Make this check happen when building the param cache. |
| 261 // To do that would require that ParamParamArray mark it's owner | 261 // To do that would require that ParamParamArray mark it's owner |
| 262 // as changed if a Param in it's ParamArray changes. | 262 // as changed if a Param in it's ParamArray changes. |
| 263 if (untyped_element->IsA(ParamSampler::GetApparentClass())) { | 263 if (untyped_element->IsA(ParamSampler::GetApparentClass())) { |
| 264 D3DXHANDLE dx_element = | 264 D3DXHANDLE dx_element = |
| 265 d3d_effect->GetParameterElement(phandle_, i); | 265 d3d_effect->GetParameterElement(phandle_, i); |
| 266 // Find the texture associated with the sampler first. | 266 // Find the texture associated with the sampler first. |
| 267 Sampler* sampler = | 267 Sampler* sampler = |
| (...skipping 22 matching lines...) Expand all Loading... |
| 290 } | 290 } |
| 291 | 291 |
| 292 // Resets the value of the parameter to default. Currently this is used | 292 // Resets the value of the parameter to default. Currently this is used |
| 293 // to unbind textures contained in Sampler params. | 293 // to unbind textures contained in Sampler params. |
| 294 virtual void ResetEffectParam(RendererD3D9* renderer, | 294 virtual void ResetEffectParam(RendererD3D9* renderer, |
| 295 ID3DXEffect* d3d_effect) { | 295 ID3DXEffect* d3d_effect) { |
| 296 ParamArray* param = param_->value(); | 296 ParamArray* param = param_->value(); |
| 297 if (param) { | 297 if (param) { |
| 298 unsigned size = param->size(); | 298 unsigned size = param->size(); |
| 299 if (size == sampler_unit_index_arrays_.size()) { | 299 if (size == sampler_unit_index_arrays_.size()) { |
| 300 for (int i = 0; i < size; ++i) { | 300 for (unsigned i = 0; i < size; ++i) { |
| 301 SamplerUnitIndexArray& index_array = sampler_unit_index_arrays_[i]; | 301 SamplerUnitIndexArray& index_array = sampler_unit_index_arrays_[i]; |
| 302 Param* untyped_element = param->GetUntypedParam(i); | 302 Param* untyped_element = param->GetUntypedParam(i); |
| 303 // TODO(gman): Make this check happen when building the param cache. | 303 // TODO(gman): Make this check happen when building the param cache. |
| 304 // To do that would require that ParamParamArray mark it's owner | 304 // To do that would require that ParamParamArray mark it's owner |
| 305 // as changed if a Param in it's ParamArray changes. | 305 // as changed if a Param in it's ParamArray changes. |
| 306 if (untyped_element->IsA(ParamSampler::GetApparentClass())) { | 306 if (untyped_element->IsA(ParamSampler::GetApparentClass())) { |
| 307 D3DXHANDLE dx_element = | 307 D3DXHANDLE dx_element = |
| 308 d3d_effect->GetParameterElement(phandle_, i); | 308 d3d_effect->GetParameterElement(phandle_, i); |
| 309 // Find the texture associated with the sampler first. | 309 // Find the texture associated with the sampler first. |
| 310 Sampler* sampler = | 310 Sampler* sampler = |
| (...skipping 903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1214 // Handler for reset device. This restores the effect after a device reset. | 1214 // Handler for reset device. This restores the effect after a device reset. |
| 1215 // Returns true on success. | 1215 // Returns true on success. |
| 1216 bool EffectD3D9::OnResetDevice() { | 1216 bool EffectD3D9::OnResetDevice() { |
| 1217 if (d3dx_effect_) | 1217 if (d3dx_effect_) |
| 1218 return HR(d3dx_effect_->OnResetDevice()); | 1218 return HR(d3dx_effect_->OnResetDevice()); |
| 1219 else | 1219 else |
| 1220 return true; | 1220 return true; |
| 1221 } | 1221 } |
| 1222 | 1222 |
| 1223 } // namespace o3d | 1223 } // namespace o3d |
| OLD | NEW |