Lines Matching refs:state

50         StateBasedKey *state = mStateBasedShaders.itemAt(i);
51 if (state->mShaderID) {
52 glDeleteShader(state->mShaderID);
54 delete state;
81 for (uint32_t ct = 0; ct < mRSProgram->mHal.state.texturesCount; ct ++) {
83 if (mRSProgram->mHal.state.textureTargets[ct] == RS_TEXTURE_2D) {
84 Allocation *a = mRSProgram->mHal.state.textures[ct];
85 if (a && a->mHal.state.surfaceTextureID) {
103 StateBasedKey *state = getExistingState();
104 if (state != nullptr) {
105 mCurrentState = state;
108 // We have not created a shader for this particular state yet
109 state = new StateBasedKey(mTextureCount);
110 mCurrentState = state;
111 mStateBasedShaders.add(state);
121 for (uint32_t ct=0; ct < mRSProgram->mHal.state.inputElementsCount; ct++) {
122 initAddUserElement(mRSProgram->mHal.state.inputElements[ct], mAttribNames,
125 for (uint32_t ct=0; ct < mRSProgram->mHal.state.constantsCount; ct++) {
126 initAddUserElement(mRSProgram->mHal.state.constantTypes[ct]->getElement(),
131 for (uint32_t ct=0; ct < mRSProgram->mHal.state.texturesCount; ct++) {
141 for (uint32_t ct=0; ct < mRSProgram->mHal.state.inputElementsCount; ct++) {
142 const Element *e = mRSProgram->mHal.state.inputElements[ct];
143 for (uint32_t field=0; field < e->mHal.state.fieldsCount; field++) {
144 const Element *f = e->mHal.state.fields[field];
147 rsAssert(!f->mHal.state.fieldsCount);
148 switch (f->mHal.state.vectorSize) {
157 s.append(e->mHal.state.fieldNames[field]);
165 for (uint32_t ct=0; ct < mRSProgram->mHal.state.inputElementsCount; ct++) {
166 const Element *e = mRSProgram->mHal.state.inputElements[ct];
167 for (uint32_t field=0; field < e->mHal.state.fieldsCount; field++) {
168 const Element *f = e->mHal.state.fields[field];
169 const char *fn = e->mHal.state.fieldNames[field];
172 rsAssert(!f->mHal.state.fieldsCount);
173 switch (f->mHal.state.vectorSize) {
193 for (uint32_t ct = 0; ct < mRSProgram->mHal.state.texturesCount; ct ++) {
194 if (mRSProgram->mHal.state.textureTargets[ct] == RS_TEXTURE_2D) {
195 Allocation *a = mRSProgram->mHal.state.textures[ct];
196 if (a && a->mHal.state.surfaceTextureID) {
275 for (uint32_t ct=0; ct < mRSProgram->mHal.state.constantsCount; ct++) {
276 const Element *e = mRSProgram->mHal.state.constantTypes[ct]->getElement();
277 for (uint32_t field=0; field < e->mHal.state.fieldsCount; field++) {
278 const Element *f = e->mHal.state.fields[field];
279 const char *fn = e->mHal.state.fieldNames[field];
282 rsAssert(!f->mHal.state.fieldsCount);
283 if (f->mHal.state.dataType == RS_TYPE_MATRIX_4X4) {
285 } else if (f->mHal.state.dataType == RS_TYPE_MATRIX_3X3) {
287 } else if (f->mHal.state.dataType == RS_TYPE_MATRIX_2X2) {
290 switch (f->mHal.state.vectorSize) {
301 if (e->mHal.state.fieldArraySizes[field] > 1) {
303 mShader += std::to_string(e->mHal.state.fieldArraySizes[field]);
312 RsDataType dataType = field->mHal.state.dataType;
313 uint32_t elementSize = field->mHal.state.elementSizeBytes / sizeof(float);
334 switch (field->mHal.state.vectorSize) {
359 RsDataType dataType = field->mHal.state.dataType;
367 switch (field->mHal.state.vectorSize) {
421 trans[s->mHal.state.minFilter]);
423 switch (trans[s->mHal.state.minFilter]) {
430 trans[s->mHal.state.minFilter]);
436 transNP[s->mHal.state.minFilter]);
439 transNP[s->mHal.state.magFilter]);
440 RSD_CALL_GL(glTexParameteri, target, GL_TEXTURE_WRAP_S, transNP[s->mHal.state.wrapS]);
441 RSD_CALL_GL(glTexParameteri, target, GL_TEXTURE_WRAP_T, transNP[s->mHal.state.wrapT]);
445 trans[s->mHal.state.minFilter]);
448 transNP[s->mHal.state.minFilter]);
450 RSD_CALL_GL(glTexParameteri, target, GL_TEXTURE_MAG_FILTER, trans[s->mHal.state.magFilter]);
451 RSD_CALL_GL(glTexParameteri, target, GL_TEXTURE_WRAP_S, trans[s->mHal.state.wrapS]);
452 RSD_CALL_GL(glTexParameteri, target, GL_TEXTURE_WRAP_T, trans[s->mHal.state.wrapT]);
455 float anisoValue = rsMin(dc->gl.gl.EXT_texture_max_aniso, s->mHal.state.aniso);
464 if (mRSProgram->mHal.state.texturesCount == 0) {
470 uint32_t numTexturesToBind = mRSProgram->mHal.state.texturesCount;
474 mRSProgram->mHal.state.texturesCount, this, numTexturesAvailable);
483 if (!mRSProgram->mHal.state.textures[ct]) {
489 DrvAllocation *drvTex = (DrvAllocation *)mRSProgram->mHal.state.textures[ct]->mHal.drv;
500 if (mRSProgram->mHal.state.samplers[ct]) {
501 setupSampler(rsc, mRSProgram->mHal.state.samplers[ct],
502 mRSProgram->mHal.state.textures[ct]);
524 for (uint32_t ct=0; ct < mRSProgram->mHal.state.constantsCount; ct++) {
525 Allocation *alloc = mRSProgram->mHal.state.constants[ct];
535 const Element *e = mRSProgram->mHal.state.constantTypes[ct]->getElement();
536 for (uint32_t field=0; field < e->mHal.state.fieldsCount; field++) {
537 const Element *f = e->mHal.state.fields[field];
538 const char *fieldName = e->mHal.state.fieldNames[field];
540 uint32_t offset = e->mHal.state.fieldOffsetBytes[field];
577 for (uint32_t ct=0; ct < mRSProgram->mHal.state.inputElementsCount; ct++) {
578 const Element *elem = mRSProgram->mHal.state.inputElements[ct];
579 mAttribCount += elem->mHal.state.fieldsCount;
583 for (uint32_t ct=0; ct < mRSProgram->mHal.state.constantsCount; ct++) {
584 const Element *elem = mRSProgram->mHal.state.constantTypes[ct]->getElement();
585 mUniformCount += elem->mHal.state.fieldsCount;
587 mUniformCount += mRSProgram->mHal.state.texturesCount;
597 mTextureCount = mRSProgram->mHal.state.texturesCount;
603 rsAssert(e->mHal.state.fieldsCount);
604 for (uint32_t ct=0; ct < e->mHal.state.fieldsCount; ct++) {
605 const Element *ce = e->mHal.state.fields[ct];
606 if (ce->mHal.state.fieldsCount) {
610 tmp.append(e->mHal.state.fieldNames[ct]);
613 arrayLengths[*count] = e->mHal.state.fieldArraySizes[ct];