Lines Matching defs:lod

44   state->lod[1].dimX = state->lod[0].dimX / 2;
45 state->lod[1].dimY = state->lod[0].dimY / 2;
46 state->lod[2].dimX = state->lod[0].dimX / 2;
47 state->lod[2].dimY = state->lod[0].dimY / 2;
54 state->lod[2].stride = rsRound(state->lod[0].stride >> 1, 16);
55 state->lod[2].mallocPtr = ((uint8_t *)state->lod[0].mallocPtr) +
56 (state->lod[0].stride * state->lod[0].dimY);
57 uvSize += state->lod[2].stride * state->lod[2].dimY;
59 state->lod[1].stride = state->lod[2].stride;
60 state->lod[1].mallocPtr = ((uint8_t *)state->lod[2].mallocPtr) +
61 (state->lod[2].stride * state->lod[2].dimY);
62 uvSize += state->lod[1].stride * state->lod[2].dimY;
65 // state->lod[1].dimX = state->lod[0].dimX;
66 state->lod[1].stride = state->lod[0].stride;
67 state->lod[2].stride = state->lod[0].stride;
68 state->lod[2].mallocPtr = ((uint8_t *)state->lod[0].mallocPtr) +
69 (state->lod[0].stride * state->lod[0].dimY);
70 state->lod[1].mallocPtr = ((uint8_t *)state->lod[2].mallocPtr) + 1;
71 uvSize += state->lod[1].stride * state->lod[1].dimY;
85 alloc->mHal.drvState.lod[0].dimX = type->getDimX();
86 alloc->mHal.drvState.lod[0].dimY = type->getDimY();
87 alloc->mHal.drvState.lod[0].dimZ = type->getDimZ();
88 alloc->mHal.drvState.lod[0].mallocPtr = 0;
91 alloc->mHal.drvState.lod[0].dimX * type->getElementSizeBytes();
92 alloc->mHal.drvState.lod[0].stride = rsRound(stride, requiredAlignment);
99 size_t o = alloc->mHal.drvState.lod[0].stride *
100 rsMax(alloc->mHal.drvState.lod[0].dimY, 1u) *
101 rsMax(alloc->mHal.drvState.lod[0].dimZ, 1u);
106 offsets[ct] = (size_t)alloc->mHal.drvState.lod[ct].mallocPtr;
109 uint32_t tx = alloc->mHal.drvState.lod[0].dimX;
110 uint32_t ty = alloc->mHal.drvState.lod[0].dimY;
111 uint32_t tz = alloc->mHal.drvState.lod[0].dimZ;
112 for (uint32_t lod = 1; lod < alloc->mHal.drvState.lodCount; lod++) {
113 alloc->mHal.drvState.lod[lod].dimX = tx;
114 alloc->mHal.drvState.lod[lod].dimY = ty;
115 alloc->mHal.drvState.lod[lod].dimZ = tz;
116 alloc->mHal.drvState.lod[lod].stride =
118 offsets[lod] = o;
119 o += alloc->mHal.drvState.lod[lod].stride * rsMax(ty, 1u) * rsMax(tz, 1u);
128 alloc->mHal.drvState.lod[0].mallocPtr = ptr;
129 for (uint32_t lod = 1; lod < alloc->mHal.drvState.lodCount; lod++) {
130 alloc->mHal.drvState.lod[lod].mallocPtr = ptr + offsets[lod];
148 uint32_t zoff, uint32_t lod,
150 uint8_t *ptr = (uint8_t *)alloc->mHal.drvState.lod[lod].mallocPtr;
152 ptr += zoff * alloc->mHal.drvState.lod[lod].dimY *
153 alloc->mHal.drvState.lod[lod].stride;
154 ptr += yoff * alloc->mHal.drvState.lod[lod].stride;
159 void mip565(const Allocation *alloc, int lod, RsAllocationCubemapFace face) {
160 uint32_t w = alloc->mHal.drvState.lod[lod + 1].dimX;
161 uint32_t h = alloc->mHal.drvState.lod[lod + 1].dimY;
164 uint16_t *oPtr = (uint16_t *)GetOffsetPtr(alloc, 0, y, 0, lod + 1, face);
166 (uint16_t *)GetOffsetPtr(alloc, 0, 0, y * 2, lod, face);
168 (uint16_t *)GetOffsetPtr(alloc, 0, 0, y * 2 + 1, lod, face);
179 void mip8888(const Allocation *alloc, int lod, RsAllocationCubemapFace face) {
180 uint32_t w = alloc->mHal.drvState.lod[lod + 1].dimX;
181 uint32_t h = alloc->mHal.drvState.lod[lod + 1].dimY;
184 uint32_t *oPtr = (uint32_t *)GetOffsetPtr(alloc, 0, y, 0, lod + 1, face);
186 (uint32_t *)GetOffsetPtr(alloc, 0, y * 2, 0, lod, face);
188 (uint32_t *)GetOffsetPtr(alloc, 0, y * 2 + 1, 0, lod, face);
199 void mip8(const Allocation *alloc, int lod, RsAllocationCubemapFace face) {
200 uint32_t w = alloc->mHal.drvState.lod[lod + 1].dimX;
201 uint32_t h = alloc->mHal.drvState.lod[lod + 1].dimY;
204 uint8_t *oPtr = GetOffsetPtr(alloc, 0, y, 0, lod + 1, face);
205 const uint8_t *i1 = GetOffsetPtr(alloc, 0, y * 2, 0, lod, face);
206 const uint8_t *i2 = GetOffsetPtr(alloc, 0, y * 2 + 1, 0, lod, face);
320 uint32_t xoff, uint32_t lod, size_t count,
338 uint32_t xoff, uint32_t yoff, uint32_t lod,
347 if (alloc->mHal.drvState.lod[0].mallocPtr) {
349 uint8_t *dst = GetOffsetPtr(alloc, xoff, yoff, 0, lod, face);
358 dst += alloc->mHal.drvState.lod[lod].stride;
363 int lod = 1;
369 lod = 2;
373 while (lod < maxLod) {
374 uint8_t *dst = GetOffsetPtr(alloc, xoff, yoff, 0, lod, face);
381 dst += alloc->mHal.drvState.lod[lod].stride;
383 lod++;
391 uint32_t lod, uint32_t w, uint32_t h, uint32_t d,
399 if (alloc->mHal.drvState.lod[0].mallocPtr) {
402 uint8_t *dst = GetOffsetPtr(alloc, xoff, yoff, z, lod,
411 dst += alloc->mHal.drvState.lod[lod].stride;
418 uint32_t xoff, uint32_t lod, size_t count, void *data,
431 uint32_t xoff, uint32_t yoff, uint32_t lod,
440 if (alloc->mHal.drvState.lod[0].mallocPtr) {
442 const uint8_t *src = GetOffsetPtr(alloc, xoff, yoff, 0, lod, face);
452 src += alloc->mHal.drvState.lod[lod].stride;
461 uint32_t lod, uint32_t w, uint32_t h, uint32_t d,
469 if (alloc->mHal.drvState.lod[0].mallocPtr) {
472 const uint8_t *src = GetOffsetPtr(alloc, xoff, yoff, z, lod,
483 src += alloc->mHal.drvState.lod[lod].stride;
490 return alloc->mHal.drvState.lod[0].mallocPtr;
578 for (uint32_t lod = 0; lod < lodCount; lod++) {
579 alloc->mHal.drvState.lod[lod] = base->mHal.drvState.lod[lod + lodBias];
580 alloc->mHal.drvState.lod[lod].mallocPtr = GetOffsetPtr(
621 if (!alloc->mHal.drvState.lod[0].mallocPtr) {
626 for (uint32_t lod = 0; lod < (alloc->getType()->getLODCount() - 1); lod++) {
629 mip8888(alloc, lod, (RsAllocationCubemapFace)face);
632 mip565(alloc, lod, (RsAllocationCubemapFace)face);
635 mip8(alloc, lod, (RsAllocationCubemapFace)face);