Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/svm/svm_brightness.h
| Show All 10 Lines | |||||
| * distributed under the License is distributed on an "AS IS" BASIS, | * distributed under the License is distributed on an "AS IS" BASIS, | ||||
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| * See the License for the specific language governing permissions and | * See the License for the specific language governing permissions and | ||||
| * limitations under the License. | * limitations under the License. | ||||
| */ | */ | ||||
| CCL_NAMESPACE_BEGIN | CCL_NAMESPACE_BEGIN | ||||
| ccl_device void svm_node_brightness( | ccl_device_noinline void svm_node_brightness( | ||||
| ShaderData *sd, float *stack, uint in_color, uint out_color, uint node) | ShaderData *sd, float *stack, uint in_color, uint out_color, uint node) | ||||
| { | { | ||||
| uint bright_offset, contrast_offset; | uint bright_offset, contrast_offset; | ||||
| float3 color = stack_load_float3(stack, in_color); | float3 color = stack_load_float3(stack, in_color); | ||||
| svm_unpack_node_uchar2(node, &bright_offset, &contrast_offset); | svm_unpack_node_uchar2(node, &bright_offset, &contrast_offset); | ||||
| float brightness = stack_load_float(stack, bright_offset); | float brightness = stack_load_float(stack, bright_offset); | ||||
| float contrast = stack_load_float(stack, contrast_offset); | float contrast = stack_load_float(stack, contrast_offset); | ||||
| color = svm_brightness_contrast(color, brightness, contrast); | color = svm_brightness_contrast(color, brightness, contrast); | ||||
| if (stack_valid(out_color)) | if (stack_valid(out_color)) | ||||
| stack_store_float3(stack, out_color, color); | stack_store_float3(stack, out_color, color); | ||||
| } | } | ||||
| CCL_NAMESPACE_END | CCL_NAMESPACE_END | ||||