97 {
99
100 std::vector<D3D12_CPU_DESCRIPTOR_HANDLE> shaderResourceViews(fNumSamplers);
101 std::vector<D3D12_CPU_DESCRIPTOR_HANDLE> samplers(fNumSamplers);
102 unsigned int currTextureBinding = 0;
103
105 SkASSERT(geomProcTextures[i]->asTextureProxy());
109 samplers[currTextureBinding++] =
112 }
113
118 GrSamplerState::Filter::kNearest);
120 }
121
126 samplers[currTextureBinding++] =
129 });
130
131 SkASSERT(fNumSamplers == currTextureBinding);
132
133
134 if (fNumSamplers > 0) {
135
141
142
145 srvTable->baseGpuDescriptor());
146
147
150 samplerTable->baseGpuDescriptor());
151 }
152}
void addSampledTextureRef(GrD3DTexture *)
void setDescriptorHeaps(ID3D12DescriptorHeap *srvDescriptorHeap, ID3D12DescriptorHeap *samplerDescriptorHeap)
void setGraphicsRootDescriptorTable(unsigned int rootParameterIndex, D3D12_GPU_DESCRIPTOR_HANDLE bufferLocation)
GrD3DResourceProvider & resourceProvider()
sk_sp< GrD3DDescriptorTable > findOrCreateShaderViewTable(const std::vector< D3D12_CPU_DESCRIPTOR_HANDLE > &shaderViews)
D3D12_CPU_DESCRIPTOR_HANDLE findOrCreateCompatibleSampler(const GrSamplerState ¶ms)
sk_sp< GrD3DDescriptorTable > findOrCreateSamplerTable(const std::vector< D3D12_CPU_DESCRIPTOR_HANDLE > &samplers)
@ kShaderViewDescriptorTable
@ kSamplerDescriptorTable
D3D12_CPU_DESCRIPTOR_HANDLE shaderResourceView()
const TextureSampler & textureSampler(int index) const
int numTextureSamplers() const
GrTexture * peekTexture() const
GrTexture * texture() const
GrSamplerState samplerState() const