Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6141 → Rev 6142

/contrib/sdk/sources/newlib/libc/include/pixlib3.h
21,6 → 21,13
 
int pxDestroyBitmap(bitmap_t *bitmap);
 
void *pxLockBitmap(bitmap_t *bitmap, uint32_t *pitch);
 
int pxResizeBitmap(bitmap_t *bitmap, uint32_t width, uint32_t height);
 
int pxBlitBitmap(bitmap_t *bitmap, int dst_x, int dst_y,
uint32_t w, uint32_t h, int src_x, int src_y);
 
planar_t* pxCreatePlanar(int name, int format,
uint32_t width, uint32_t height,
uint32_t offset0, uint32_t pitch0,
27,13 → 34,8
uint32_t offset1, uint32_t pitch1,
uint32_t offset2, uint32_t pitch2);
 
void *pxLockBitmap(bitmap_t *bitmap, uint32_t *pitch);
int pxDestroyPlanar(planar_t *planar);
 
int pxResizeBitmap(bitmap_t *bitmap, uint32_t width, uint32_t height);
 
int pxBlitBitmap(bitmap_t *bitmap, int dst_x, int dst_y,
uint32_t w, uint32_t h, int src_x, int src_y);
 
int pxBlitPlanar(planar_t *planar, int dst_x, int dst_y,
uint32_t w, uint32_t h, int src_x, int src_y);
 
/contrib/sdk/sources/pixlib-3/pixdriver.h
18,6 → 18,7
uint32_t offset0, uint32_t pitch0,
uint32_t offset1, uint32_t pitch1,
uint32_t offset2, uint32_t pitch2);
int (*destroy_planar)(planar_t *planar);
int (*blit_planar)(planar_t *planar, int dst_x, int dst_y,
uint32_t w, uint32_t h, int src_x, int src_y);
};
/contrib/sdk/sources/pixlib-3/pixlib3.c
156,6 → 156,35
w, h, src_x, src_y);
};
 
planar_t* pxCreatePlanar(int name, int format,
uint32_t width, uint32_t height,
uint32_t offset0, uint32_t pitch0,
uint32_t offset1, uint32_t pitch1,
uint32_t offset2, uint32_t pitch2)
{
if(driver->create_planar)
return driver->create_planar(name, format, width, height,
offset0, pitch0, offset1, pitch1,
offset2, pitch2);
else
return NULL;
};
 
int pxDestroyPlanar(planar_t *planar)
{
return driver->destroy_planar(planar);
};
 
int pxBlitPlanar(planar_t *planar, int dst_x, int dst_y,
uint32_t w, uint32_t h, int src_x, int src_y)
{
if(driver->blit_planar)
return driver->blit_planar(planar, dst_x, dst_y,
w, h, src_x, src_y);
else
return 0;
};
 
int pxCreateClient(int x, int y, uint32_t width, uint32_t height)
{
return driver->create_client(x, y, width, height);
166,6 → 195,7
return driver->resize_client(x, y, width, height);
}
 
 
static struct pix_driver sw_driver =
{
0,
176,9 → 206,10
sw_blit,
sw_create_client,
sw_resize_client,
NULL,
NULL,
NULL
NULL, /* fini() */
NULL, /* create_planar() */
NULL, /* destroy_planar() */
NULL /* blit_planar() */
};
 
 
256,32 → 287,3
driver->fini();
};
 
 
planar_t* pxCreatePlanar(int name, int format,
uint32_t width, uint32_t height,
uint32_t offset0, uint32_t pitch0,
uint32_t offset1, uint32_t pitch1,
uint32_t offset2, uint32_t pitch2)
{
if(driver->create_planar)
return driver->create_planar(name, format, width, height,
offset0, pitch0, offset1, pitch1,
offset2, pitch2);
else
return NULL;
}
 
 
int pxBlitPlanar(planar_t *planar, int dst_x, int dst_y,
uint32_t w, uint32_t h, int src_x, int src_y)
{
if(driver->blit_planar)
return driver->blit_planar(planar, dst_x, dst_y,
w, h, src_x, src_y);
else
return 0;
};
 
 
 
 
/contrib/sdk/sources/pixlib-3/pxgl.c
615,6 → 615,22
return NULL;
};
 
static int hw_destroy_planar(planar_t *planar)
{
glDeleteTextures(planar->num_planes, &planar->tex[0]);
 
if(planar->image[2] != NULL)
eglDestroyImageKHR(px->dpy, planar->image[2]);
if(planar->image[1] != NULL)
eglDestroyImageKHR(px->dpy, planar->image[1]);
if(planar->image[0] != NULL)
eglDestroyImageKHR(px->dpy, planar->image[0]);
if(planar->planar_image != NULL)
eglDestroyImageKHR(px->dpy, planar->planar_image);
free(planar);
return 0;
};
 
static planar_t* hw_create_planar(EGLint name, EGLint format, uint32_t width, uint32_t height,
uint32_t offset0, uint32_t pitch0,
uint32_t offset1, uint32_t pitch1,
670,6 → 686,7
planar->width = width;
planar->height = height;
planar->name = name;
planar->num_planes = num_planes;
planar->planar_image = img;
 
planar->offset[0] = offset0;
681,6 → 698,8
planar->pitch[2] = pitch2;
 
glGenTextures(num_planes, &planar->tex[0]);
if(glGetError() != GL_NO_ERROR)
goto err_0;
 
for(i = 0; i < num_planes; i++)
{
692,19 → 711,20
 
image = eglCreateImageKHR(px->dpy, px->context,
EGL_WAYLAND_BUFFER_WL,(EGLClientBuffer)img, attr);
if(image == NULL)
goto err_1;
 
planar->image[i] = image;
glBindTexture(GL_TEXTURE_2D, planar->tex[i]);
 
if(glGetError() != GL_NO_ERROR)
{
goto fail;
goto err_1;
};
 
glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, image);
if(glGetError() != GL_NO_ERROR)
{
goto fail;
goto err_1;
}
 
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
713,14 → 733,16
 
return planar;
 
err_1:
hw_destroy_planar(planar);
return NULL;
 
err_0:
free(planar);
fail:
 
return NULL;
}
 
 
static int hw_destroy_bitmap(bitmap_t * bitmap)
{
struct drm_gem_close close;
731,6 → 753,7
close.handle = bitmap->handle;
drm_ioctl(px->fd, DRM_IOCTL_GEM_CLOSE, &close);
free(bitmap);
return 0;
};
 
static void *hw_lock_bitmap(bitmap_t *bitmap, uint32_t *pitch)
1015,6 → 1038,7
hw_resize_client,
hw_fini,
hw_create_planar,
hw_destroy_planar,
hw_blit_planar
};
 
/contrib/sdk/sources/pixlib-3/pxgl.h
87,6 → 87,7
uint32_t width;
uint32_t height;
GLuint name;
int num_planes;
EGLImageKHR planar_image;
EGLImageKHR image[3];
GLuint offset[3];