| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkBitmapProcShader.h" | 8 #include "SkBitmapProcShader.h" |
| 9 #include "SkBitmapProcState.h" | 9 #include "SkBitmapProcState.h" |
| 10 #include "SkBitmapProvider.h" | 10 #include "SkBitmapProvider.h" |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 #define TEST_BUFFER_EXTRA 32 | 167 #define TEST_BUFFER_EXTRA 32 |
| 168 #define TEST_PATTERN 0x88888888 | 168 #define TEST_PATTERN 0x88888888 |
| 169 #else | 169 #else |
| 170 #define TEST_BUFFER_EXTRA 0 | 170 #define TEST_BUFFER_EXTRA 0 |
| 171 #endif | 171 #endif |
| 172 | 172 |
| 173 void SkBitmapProcShader::BitmapProcShaderContext::shadeSpan(int x, int y, SkPMCo
lor dstC[], | 173 void SkBitmapProcShader::BitmapProcShaderContext::shadeSpan(int x, int y, SkPMCo
lor dstC[], |
| 174 int count) { | 174 int count) { |
| 175 const SkBitmapProcState& state = *fState; | 175 const SkBitmapProcState& state = *fState; |
| 176 if (state.getShaderProc32()) { | 176 if (state.getShaderProc32()) { |
| 177 state.getShaderProc32()(state, x, y, dstC, count); | 177 state.getShaderProc32()(&state, x, y, dstC, count); |
| 178 return; | 178 return; |
| 179 } | 179 } |
| 180 | 180 |
| 181 uint32_t buffer[BUF_MAX + TEST_BUFFER_EXTRA]; | 181 uint32_t buffer[BUF_MAX + TEST_BUFFER_EXTRA]; |
| 182 SkBitmapProcState::MatrixProc mproc = state.getMatrixProc(); | 182 SkBitmapProcState::MatrixProc mproc = state.getMatrixProc(); |
| 183 SkBitmapProcState::SampleProc32 sproc = state.getSampleProc32(); | 183 SkBitmapProcState::SampleProc32 sproc = state.getSampleProc32(); |
| 184 int max = state.maxCountForBufferSize(sizeof(buffer[0]) * BUF_MAX); | 184 int max = state.maxCountForBufferSize(sizeof(buffer[0]) * BUF_MAX); |
| 185 | 185 |
| 186 SkASSERT(state.fPixmap.addr()); | 186 SkASSERT(state.fPixmap.addr()); |
| 187 | 187 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 218 *ctx = fState; | 218 *ctx = fState; |
| 219 return (ShadeProc)fState->getShaderProc32(); | 219 return (ShadeProc)fState->getShaderProc32(); |
| 220 } | 220 } |
| 221 return nullptr; | 221 return nullptr; |
| 222 } | 222 } |
| 223 | 223 |
| 224 void SkBitmapProcShader::BitmapProcShaderContext::shadeSpan16(int x, int y, uint
16_t dstC[], | 224 void SkBitmapProcShader::BitmapProcShaderContext::shadeSpan16(int x, int y, uint
16_t dstC[], |
| 225 int count) { | 225 int count) { |
| 226 const SkBitmapProcState& state = *fState; | 226 const SkBitmapProcState& state = *fState; |
| 227 if (state.getShaderProc16()) { | 227 if (state.getShaderProc16()) { |
| 228 state.getShaderProc16()(state, x, y, dstC, count); | 228 state.getShaderProc16()(&state, x, y, dstC, count); |
| 229 return; | 229 return; |
| 230 } | 230 } |
| 231 | 231 |
| 232 uint32_t buffer[BUF_MAX]; | 232 uint32_t buffer[BUF_MAX]; |
| 233 SkBitmapProcState::MatrixProc mproc = state.getMatrixProc(); | 233 SkBitmapProcState::MatrixProc mproc = state.getMatrixProc(); |
| 234 SkBitmapProcState::SampleProc16 sproc = state.getSampleProc16(); | 234 SkBitmapProcState::SampleProc16 sproc = state.getSampleProc16(); |
| 235 int max = state.maxCountForBufferSize(sizeof(buffer)); | 235 int max = state.maxCountForBufferSize(sizeof(buffer)); |
| 236 | 236 |
| 237 SkASSERT(state.fPixmap.addr()); | 237 SkASSERT(state.fPixmap.addr()); |
| 238 | 238 |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 407 inner.reset(GrSimpleTextureEffect::Create(texture, matrix, params)); | 407 inner.reset(GrSimpleTextureEffect::Create(texture, matrix, params)); |
| 408 } | 408 } |
| 409 | 409 |
| 410 if (kAlpha_8_SkColorType == fRawBitmap.colorType()) { | 410 if (kAlpha_8_SkColorType == fRawBitmap.colorType()) { |
| 411 return GrFragmentProcessor::MulOutputByInputUnpremulColor(inner); | 411 return GrFragmentProcessor::MulOutputByInputUnpremulColor(inner); |
| 412 } | 412 } |
| 413 return GrFragmentProcessor::MulOutputByInputAlpha(inner); | 413 return GrFragmentProcessor::MulOutputByInputAlpha(inner); |
| 414 } | 414 } |
| 415 | 415 |
| 416 #endif | 416 #endif |
| OLD | NEW |