Home | History | Annotate | Download | only in driver

Lines Matching refs:mHal

89     uint8_t *ptr = (uint8_t *)alloc->mHal.drvState.lod[lod].mallocPtr;
90 ptr += face * alloc->mHal.drvState.faceOffset;
91 ptr += zoff * alloc->mHal.drvState.lod[lod].dimY * alloc->mHal.drvState.lod[lod].stride;
92 ptr += yoff * alloc->mHal.drvState.lod[lod].stride;
93 ptr += xoff * alloc->mHal.state.elementSizeBytes;
102 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
108 if (alloc->mHal.state.hasFaces) {
118 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
124 if (alloc->mHal.state.hasFaces) {
130 for (uint32_t lod = 0; lod < alloc->mHal.state.type->getLODCount(); lod++) {
134 if (alloc->mHal.state.hasFaces) {
140 alloc->mHal.state.type->getLODDimX(lod),
141 alloc->mHal.state.type->getLODDimY(lod),
145 alloc->mHal.state.type->getLODDimX(lod),
146 alloc->mHal.state.type->getLODDimY(lod),
152 if (alloc->mHal.state.mipmapControl == RS_ALLOCATION_MIPMAP_ON_SYNC_TO_TEXTURE) {
161 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
163 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_INPUT) {
174 if (!alloc->mHal.drvState.lod[0].mallocPtr) {
187 if (!(alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_SCRIPT)) {
188 if (alloc->mHal.drvState.lod[0].mallocPtr) {
189 free(alloc->mHal.drvState.lod[0].mallocPtr);
190 alloc->mHal.drvState.lod[0].mallocPtr = nullptr;
199 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
216 alloc->mHal.drvState.lod[0].dimX, alloc->mHal.drvState.lod[0].dimY);
224 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
226 rsAssert(!alloc->mHal.state.type->getDimY());
227 rsAssert(!alloc->mHal.state.type->getDimZ());
229 //alloc->mHal.state.usageFlags |= RS_ALLOCATION_USAGE_GRAPHICS_VERTEX;
241 alloc->mHal.state.type->getPackedSizeBytes(),
242 alloc->mHal.drvState.lod[0].mallocPtr, GL_DYNAMIC_DRAW);
300 alloc->mHal.drvState.lod[0].dimX = type->getDimX();
301 alloc->mHal.drvState.lod[0].dimY = type->getDimY();
302 alloc->mHal.drvState.lod[0].dimZ = type->getDimZ();
303 alloc->mHal.drvState.lod[0].mallocPtr = 0;
305 size_t stride = alloc->mHal.drvState.lod[0].dimX * type->getElementSizeBytes();
306 alloc->mHal.drvState.lod[0].stride = rsRound(stride, requiredAlignment);
307 alloc->mHal.drvState.lodCount = type->getLODCount();
308 alloc->mHal.drvState.faceCount = type->getDimFaces();
313 size_t o = alloc->mHal.drvState.lod[0].stride * rsMax(alloc->mHal.drvState.lod[0].dimY, 1u) *
314 rsMax(alloc->mHal.drvState.lod[0].dimZ, 1u);
315 if (alloc->mHal.state.yuv) {
316 o += DeriveYUVLayout(alloc->mHal.state.yuv, &alloc->mHal.drvState);
318 for (uint32_t ct = 1; ct < alloc->mHal.drvState.lodCount; ct++) {
319 offsets[ct] = (size_t)alloc->mHal.drvState.lod[ct].mallocPtr;
321 } else if(alloc->mHal.drvState.lodCount > 1) {
322 uint32_t tx = alloc->mHal.drvState.lod[0].dimX;
323 uint32_t ty = alloc->mHal.drvState.lod[0].dimY;
324 uint32_t tz = alloc->mHal.drvState.lod[0].dimZ;
325 for (uint32_t lod=1; lod < alloc->mHal.drvState.lodCount; lod++) {
326 alloc->mHal.drvState.lod[lod].dimX = tx;
327 alloc->mHal.drvState.lod[lod].dimY = ty;
328 alloc->mHal.drvState.lod[lod].dimZ = tz;
329 alloc->mHal.drvState.lod[lod].stride =
332 o += alloc->mHal.drvState.lod[lod].stride * rsMax(ty, 1u) * rsMax(tz, 1u);
339 alloc->mHal.drvState.faceOffset = o;
341 alloc->mHal.drvState.lod[0].mallocPtr = ptr;
342 for (uint32_t lod=1; lod < alloc->mHal.drvState.lodCount; lod++) {
343 alloc->mHal.drvState.lod[lod].mallocPtr = ptr + offsets[lod];
346 size_t allocSize = alloc->mHal.drvState.faceOffset;
347 if(alloc->mHal.drvState.faceCount) {
376 alloc->mHal.drv = drv;
387 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_OUTPUT) {
389 } else if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_INPUT) {
393 } else if (alloc->mHal.state.usageFlags == (RS_ALLOCATION_USAGE_INCREMENTAL_SUPPORT | RS_ALLOCATION_USAGE_SHARED)) {
394 if (alloc->mHal.state.userProvidedPtr == nullptr) {
404 ptr = (uint8_t*)alloc->mHal.state.userProvidedPtr;
406 } else if (alloc->mHal.state.userProvidedPtr != nullptr) {
409 if (!(alloc->mHal.state.usageFlags == (RS_ALLOCATION_USAGE_SCRIPT | RS_ALLOCATION_USAGE_SHARED) ||
410 alloc->mHal.state.usageFlags == (RS_ALLOCATION_USAGE_SCRIPT | RS_ALLOCATION_USAGE_SHARED | RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE))) {
427 mHal.drv = nullptr;
434 ptr = (uint8_t*)alloc->mHal.state.userProvidedPtr;
439 alloc->mHal.drv = nullptr;
451 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE) {
452 if (alloc->mHal.state.hasFaces) {
458 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_GRAPHICS_VERTEX) {
464 drv->glType = rsdTypeToGLType(alloc->mHal.state.type->getElement()->getComponent().getType());
465 drv->glFormat = rsdKindToGLFormat(alloc->mHal.state.type->getElement()->getComponent().getKind());
471 if (alloc->mHal.state.usageFlags & ~RS_ALLOCATION_USAGE_SCRIPT) {
480 if ((alloc->mHal.state.userProvidedPtr != 0) && (drv->useUserProvidedPtr == false)) {
481 rsdAllocationData2D(rsc, alloc, 0, 0, 0, RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X, alloc->getType()->getDimX(), alloc->getType()->getDimY(), alloc->mHal.state.userProvidedPtr, allocSize, 0);
487 ALOGE("pointer for allocation.drv: %p", &alloc->mHal.drv);
502 const Allocation *base = alloc->mHal.state.baseAlloc;
503 const Type *type = alloc->mHal.state.type;
509 //ALOGE("rsdAllocationAdapterOffset lodCount %i", alloc->mHal.drvState.lodCount);
511 const int lodBias = alloc->mHal.state.originLOD;
512 uint32_t lodCount = rsMax(alloc->mHal.drvState.lodCount, (uint32_t)1);
514 alloc->mHal.drvState.lod[lod] = base->mHal.drvState.lod[lod + lodBias];
515 alloc->mHal.drvState.lod[lod].mallocPtr = GetOffsetPtr(alloc,
516 alloc->mHal.state.originX, alloc->mHal.state.originY, alloc->mHal.state.originZ,
517 lodBias, (RsAllocationCubemapFace)alloc->mHal.state.originFace);
526 alloc->mHal.drv = drv;
535 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
537 if (alloc->mHal.state.baseAlloc == nullptr) {
555 if (alloc->mHal.drvState.lod[0].mallocPtr) {
558 !(alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_INPUT) &&
559 !(alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_OUTPUT)) {
560 free(alloc->mHal.drvState.lod[0].mallocPtr);
562 alloc->mHal.drvState.lod[0].mallocPtr = nullptr;
572 if ((alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_OUTPUT) &&
573 (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_SCRIPT)) {
590 alloc->mHal.drv = nullptr;
595 const uint32_t oldDimX = alloc->mHal.drvState.lod[0].dimX;
599 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_SHARED) {
603 void * oldPtr = alloc->mHal.drvState.lod[0].mallocPtr;
615 size_t stride = alloc->mHal.state.elementSizeBytes;
616 memset(((uint8_t *)alloc->mHal.drvState.lod[0].mallocPtr) + stride * oldDimX,
627 RsdHal *dc = (RsdHal *)rsc->mHal.drv;
630 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
645 RSD_CALL_GL(glReadPixels, 0, 0, alloc->mHal.drvState.lod[0].dimX,
646 alloc->mHal.drvState.lod[0].dimY,
647 drv->glFormat, drv->glType, alloc->mHal.drvState.lod[0].mallocPtr);
657 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
675 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE) {
678 if ((alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET) &&
679 !(alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_IO_OUTPUT)) {
683 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_GRAPHICS_VERTEX) {
687 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_SHARED) {
701 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
707 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
725 alloc->mHal.drvState.lod[0].mallocPtr = dst;
726 alloc->mHal.drvState.lod[0].stride = drv->wndBuffer->stride * alloc->mHal.state.elementSizeBytes;
727 rsAssert((alloc->mHal.drvState.lod[0].stride & 0xf) == 0);
735 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
759 int32_t r = ANativeWindow_setBuffersGeometry(nw, alloc->mHal.drvState.lod[0].dimX,
760 alloc->mHal.drvState.lod[0].dimY,
767 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_SCRIPT) {
786 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
789 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET) {
790 RsdHal *dc = (RsdHal *)rsc->mHal.drv;
796 if (alloc->mHal.state.usageFlags & RS_ALLOCATION_USAGE_SCRIPT) {
821 if (alloc->mHal.state.yuv) {
822 DeriveYUVLayout(alloc->mHal.state.yuv, &alloc->mHal.drvState);
830 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
832 const size_t eSize = alloc->mHal.state.type->getElementSizeBytes();
838 if (alloc->mHal.state.hasReferences) {
850 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
852 size_t eSize = alloc->mHal.state.elementSizeBytes;
858 if (alloc->mHal.drvState.lod[0].mallocPtr) {
869 if (alloc->mHal.state.hasReferences) {
875 dst += alloc->mHal.drvState.lod[lod].stride;
877 if (alloc->mHal.state.yuv) {
881 if (alloc->mHal.state.yuv == RS_YUV_YV12) {
884 } else if (alloc->mHal.state.yuv == RS_YUV_NV21) {
897 dst += alloc->mHal.drvState.lod[lod].stride;
914 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
916 uint32_t eSize = alloc->mHal.state.elementSizeBytes;
922 if (alloc->mHal.drvState.lod[0].mallocPtr) {
935 if (alloc->mHal.state.hasReferences) {
941 dst += alloc->mHal.drvState.lod[lod].stride;
951 const size_t eSize = alloc->mHal.state.type->getElementSizeBytes();
963 size_t eSize = alloc->mHal.state.elementSizeBytes;
969 if (alloc->mHal.drvState.lod[0].mallocPtr) {
981 src += alloc->mHal.drvState.lod[lod].stride;
993 uint32_t eSize = alloc->mHal.state.elementSizeBytes;
999 if (alloc->mHal.drvState.lod[0].mallocPtr) {
1013 src += alloc->mHal.drvState.lod[lod].stride;
1021 return alloc->mHal.drvState.lod[0].mallocPtr;
1114 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
1118 const Element * e = alloc->mHal.state.type->getElement()->getField(cIdx);
1119 ptr += alloc->mHal.state.type->getElement()->getFieldOffsetBytes(cIdx);
1121 if (alloc->mHal.state.hasReferences) {
1133 DrvAllocation *drv = (DrvAllocation *)alloc->mHal.drv;
1137 const Element * e = alloc->mHal.state.type->getElement()->getField(cIdx);
1138 ptr += alloc->mHal.state.type->getElement()->getFieldOffsetBytes(cIdx);
1144 uint32_t w = alloc->mHal.drvState.lod[lod + 1].dimX;
1145 uint32_t h = alloc->mHal.drvState.lod[lod + 1].dimY;
1162 uint32_t w = alloc->mHal.drvState.lod[lod + 1].dimX;
1163 uint32_t h = alloc->mHal.drvState.lod[lod + 1].dimY;
1180 uint32_t w = alloc->mHal.drvState.lod[lod + 1].dimX;
1181 uint32_t h = alloc->mHal.drvState.lod[lod + 1].dimY;
1198 if(!alloc->mHal.drvState.lod[0].mallocPtr) {