| Index: tests/GLProgramsTest.cpp
|
| diff --git a/tests/GLProgramsTest.cpp b/tests/GLProgramsTest.cpp
|
| index 1bf10ba5534cecf768040d38851a142f3408c77c..3feb9692b3b5f204f1d231ce4e9882c87a83dac5 100644
|
| --- a/tests/GLProgramsTest.cpp
|
| +++ b/tests/GLProgramsTest.cpp
|
| @@ -93,10 +93,7 @@ private:
|
|
|
| GR_DEFINE_FRAGMENT_PROCESSOR_TEST(BigKeyProcessor);
|
|
|
| -GrFragmentProcessor* BigKeyProcessor::TestCreate(SkRandom*,
|
| - GrContext*,
|
| - const GrCaps&,
|
| - GrTexture*[]) {
|
| +GrFragmentProcessor* BigKeyProcessor::TestCreate(GrProcessorTestData*) {
|
| return BigKeyProcessor::Create();
|
| }
|
|
|
| @@ -136,29 +133,20 @@ static GrRenderTarget* random_render_target(GrTextureProvider* textureProvider,
|
| return texture ? texture->asRenderTarget() : NULL;
|
| }
|
|
|
| -static void set_random_xpf(GrContext* context, const GrCaps& caps,
|
| - GrPipelineBuilder* pipelineBuilder, SkRandom* random,
|
| - GrTexture* dummyTextures[]) {
|
| - SkAutoTUnref<const GrXPFactory> xpf(
|
| - GrProcessorTestFactory<GrXPFactory>::CreateStage(random, context, caps, dummyTextures));
|
| +static void set_random_xpf(GrPipelineBuilder* pipelineBuilder, GrProcessorTestData* d) {
|
| + SkAutoTUnref<const GrXPFactory> xpf(GrProcessorTestFactory<GrXPFactory>::CreateStage(d));
|
| SkASSERT(xpf);
|
| pipelineBuilder->setXPFactory(xpf.get());
|
| }
|
|
|
| -static void set_random_color_coverage_stages(GrGpu* gpu,
|
| - GrPipelineBuilder* pipelineBuilder,
|
| - int maxStages,
|
| - SkRandom* random,
|
| - GrTexture* dummyTextures[]) {
|
| - int numProcs = random->nextULessThan(maxStages + 1);
|
| - int numColorProcs = random->nextULessThan(numProcs + 1);
|
| +static void set_random_color_coverage_stages(GrPipelineBuilder* pipelineBuilder,
|
| + GrProcessorTestData* d, int maxStages) {
|
| + int numProcs = d->fRandom->nextULessThan(maxStages + 1);
|
| + int numColorProcs = d->fRandom->nextULessThan(numProcs + 1);
|
|
|
| for (int s = 0; s < numProcs;) {
|
| SkAutoTUnref<const GrFragmentProcessor> fp(
|
| - GrProcessorTestFactory<GrFragmentProcessor>::CreateStage(random,
|
| - gpu->getContext(),
|
| - *gpu->caps(),
|
| - dummyTextures));
|
| + GrProcessorTestFactory<GrFragmentProcessor>::CreateStage(d));
|
| SkASSERT(fp);
|
|
|
| // finally add the stage to the correct pipeline in the drawstate
|
| @@ -256,15 +244,10 @@ bool GrDrawTarget::programUnitTest(GrContext* context, int maxStages) {
|
| SkAutoTUnref<GrBatch> batch(GrRandomBatch(&random, context));
|
| SkASSERT(batch);
|
|
|
| - set_random_color_coverage_stages(fGpu,
|
| - &pipelineBuilder,
|
| - maxStages,
|
| - &random,
|
| - dummyTextures);
|
| -
|
| - // creates a random xfer processor factory on the draw state
|
| - set_random_xpf(context, *fGpu->caps(), &pipelineBuilder, &random, dummyTextures);
|
| -
|
| + GrShaderDataManager shaderDataManager;
|
| + GrProcessorTestData ptd(&random, context, &shaderDataManager, fGpu->caps(), dummyTextures);
|
| + set_random_color_coverage_stages(&pipelineBuilder, &ptd, maxStages);
|
| + set_random_xpf(&pipelineBuilder, &ptd);
|
| set_random_state(&pipelineBuilder, &random);
|
| set_random_stencil(&pipelineBuilder, &random);
|
|
|
|
|