_mesa_warning(NULL, "fetch_null_texelf() called!");
}
-static void store_null_texel(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- (void) texImage;
- (void) i;
- (void) j;
- (void) k;
- (void) texel;
- /* no-op */
-}
-
-
/**
* Table to map MESA_FORMAT_ to texel fetch/store funcs.
FetchTexelFunc Fetch1D;
FetchTexelFunc Fetch2D;
FetchTexelFunc Fetch3D;
- StoreTexelFunc StoreTexel;
}
texfetch_funcs[MESA_FORMAT_COUNT] =
{
MESA_FORMAT_NONE,
fetch_null_texelf,
fetch_null_texelf,
- fetch_null_texelf,
- store_null_texel
+ fetch_null_texelf
},
{
MESA_FORMAT_RGBA8888,
fetch_texel_1d_f_rgba8888,
fetch_texel_2d_f_rgba8888,
- fetch_texel_3d_f_rgba8888,
- store_texel_rgba8888
+ fetch_texel_3d_f_rgba8888
},
{
MESA_FORMAT_RGBA8888_REV,
fetch_texel_1d_f_rgba8888_rev,
fetch_texel_2d_f_rgba8888_rev,
- fetch_texel_3d_f_rgba8888_rev,
- store_texel_rgba8888_rev
+ fetch_texel_3d_f_rgba8888_rev
},
{
MESA_FORMAT_ARGB8888,
fetch_texel_1d_f_argb8888,
fetch_texel_2d_f_argb8888,
- fetch_texel_3d_f_argb8888,
- store_texel_argb8888
+ fetch_texel_3d_f_argb8888
},
{
MESA_FORMAT_ARGB8888_REV,
fetch_texel_1d_f_argb8888_rev,
fetch_texel_2d_f_argb8888_rev,
- fetch_texel_3d_f_argb8888_rev,
- store_texel_argb8888_rev
+ fetch_texel_3d_f_argb8888_rev
},
{
MESA_FORMAT_RGBX8888,
fetch_texel_1d_f_rgbx8888,
fetch_texel_2d_f_rgbx8888,
- fetch_texel_3d_f_rgbx8888,
- store_texel_rgbx8888
+ fetch_texel_3d_f_rgbx8888
},
{
MESA_FORMAT_RGBX8888_REV,
fetch_texel_1d_f_rgbx8888_rev,
fetch_texel_2d_f_rgbx8888_rev,
- fetch_texel_3d_f_rgbx8888_rev,
- store_texel_rgbx8888_rev,
+ fetch_texel_3d_f_rgbx8888_rev
},
{
MESA_FORMAT_XRGB8888,
fetch_texel_1d_f_xrgb8888,
fetch_texel_2d_f_xrgb8888,
- fetch_texel_3d_f_xrgb8888,
- store_texel_xrgb8888
+ fetch_texel_3d_f_xrgb8888
},
{
MESA_FORMAT_XRGB8888_REV,
fetch_texel_1d_f_xrgb8888_rev,
fetch_texel_2d_f_xrgb8888_rev,
- fetch_texel_3d_f_xrgb8888_rev,
- store_texel_xrgb8888_rev,
+ fetch_texel_3d_f_xrgb8888_rev
},
{
MESA_FORMAT_RGB888,
fetch_texel_1d_f_rgb888,
fetch_texel_2d_f_rgb888,
- fetch_texel_3d_f_rgb888,
- store_texel_rgb888
+ fetch_texel_3d_f_rgb888
},
{
MESA_FORMAT_BGR888,
fetch_texel_1d_f_bgr888,
fetch_texel_2d_f_bgr888,
- fetch_texel_3d_f_bgr888,
- store_texel_bgr888
+ fetch_texel_3d_f_bgr888
},
{
MESA_FORMAT_RGB565,
fetch_texel_1d_f_rgb565,
fetch_texel_2d_f_rgb565,
- fetch_texel_3d_f_rgb565,
- store_texel_rgb565
+ fetch_texel_3d_f_rgb565
},
{
MESA_FORMAT_RGB565_REV,
fetch_texel_1d_f_rgb565_rev,
fetch_texel_2d_f_rgb565_rev,
- fetch_texel_3d_f_rgb565_rev,
- store_texel_rgb565_rev
+ fetch_texel_3d_f_rgb565_rev
},
{
MESA_FORMAT_ARGB4444,
fetch_texel_1d_f_argb4444,
fetch_texel_2d_f_argb4444,
- fetch_texel_3d_f_argb4444,
- store_texel_argb4444
+ fetch_texel_3d_f_argb4444
},
{
MESA_FORMAT_ARGB4444_REV,
fetch_texel_1d_f_argb4444_rev,
fetch_texel_2d_f_argb4444_rev,
- fetch_texel_3d_f_argb4444_rev,
- store_texel_argb4444_rev
+ fetch_texel_3d_f_argb4444_rev
},
{
MESA_FORMAT_RGBA5551,
fetch_texel_1d_f_rgba5551,
fetch_texel_2d_f_rgba5551,
- fetch_texel_3d_f_rgba5551,
- store_texel_rgba5551
+ fetch_texel_3d_f_rgba5551
},
{
MESA_FORMAT_ARGB1555,
fetch_texel_1d_f_argb1555,
fetch_texel_2d_f_argb1555,
- fetch_texel_3d_f_argb1555,
- store_texel_argb1555
+ fetch_texel_3d_f_argb1555
},
{
MESA_FORMAT_ARGB1555_REV,
fetch_texel_1d_f_argb1555_rev,
fetch_texel_2d_f_argb1555_rev,
- fetch_texel_3d_f_argb1555_rev,
- store_texel_argb1555_rev
+ fetch_texel_3d_f_argb1555_rev
},
{
MESA_FORMAT_AL44,
fetch_texel_1d_f_al44,
fetch_texel_2d_f_al44,
- fetch_texel_3d_f_al44,
- store_texel_al44
+ fetch_texel_3d_f_al44
},
{
MESA_FORMAT_AL88,
fetch_texel_1d_f_al88,
fetch_texel_2d_f_al88,
- fetch_texel_3d_f_al88,
- store_texel_al88
+ fetch_texel_3d_f_al88
},
{
MESA_FORMAT_AL88_REV,
fetch_texel_1d_f_al88_rev,
fetch_texel_2d_f_al88_rev,
- fetch_texel_3d_f_al88_rev,
- store_texel_al88_rev
+ fetch_texel_3d_f_al88_rev
},
{
MESA_FORMAT_AL1616,
fetch_texel_1d_f_al1616,
fetch_texel_2d_f_al1616,
- fetch_texel_3d_f_al1616,
- store_texel_al1616
+ fetch_texel_3d_f_al1616
},
{
MESA_FORMAT_AL1616_REV,
fetch_texel_1d_f_al1616_rev,
fetch_texel_2d_f_al1616_rev,
- fetch_texel_3d_f_al1616_rev,
- store_texel_al1616_rev
+ fetch_texel_3d_f_al1616_rev
},
{
MESA_FORMAT_RGB332,
fetch_texel_1d_f_rgb332,
fetch_texel_2d_f_rgb332,
- fetch_texel_3d_f_rgb332,
- store_texel_rgb332
+ fetch_texel_3d_f_rgb332
},
{
MESA_FORMAT_A8,
fetch_texel_1d_f_a8,
fetch_texel_2d_f_a8,
- fetch_texel_3d_f_a8,
- store_texel_a8
+ fetch_texel_3d_f_a8
},
{
MESA_FORMAT_A16,
fetch_texel_1d_f_a16,
fetch_texel_2d_f_a16,
- fetch_texel_3d_f_a16,
- store_texel_a16
+ fetch_texel_3d_f_a16
},
{
MESA_FORMAT_L8,
fetch_texel_1d_f_l8,
fetch_texel_2d_f_l8,
- fetch_texel_3d_f_l8,
- store_texel_l8
+ fetch_texel_3d_f_l8
},
{
MESA_FORMAT_L16,
fetch_texel_1d_f_l16,
fetch_texel_2d_f_l16,
- fetch_texel_3d_f_l16,
- store_texel_l16
+ fetch_texel_3d_f_l16
},
{
MESA_FORMAT_I8,
fetch_texel_1d_f_i8,
fetch_texel_2d_f_i8,
- fetch_texel_3d_f_i8,
- store_texel_i8
+ fetch_texel_3d_f_i8
},
{
MESA_FORMAT_I16,
fetch_texel_1d_f_i16,
fetch_texel_2d_f_i16,
- fetch_texel_3d_f_i16,
- store_texel_i16
+ fetch_texel_3d_f_i16
},
{
MESA_FORMAT_YCBCR,
fetch_texel_1d_f_ycbcr,
fetch_texel_2d_f_ycbcr,
- fetch_texel_3d_f_ycbcr,
- store_texel_ycbcr
+ fetch_texel_3d_f_ycbcr
},
{
MESA_FORMAT_YCBCR_REV,
fetch_texel_1d_f_ycbcr_rev,
fetch_texel_2d_f_ycbcr_rev,
- fetch_texel_3d_f_ycbcr_rev,
- store_texel_ycbcr_rev
+ fetch_texel_3d_f_ycbcr_rev
},
{
MESA_FORMAT_R8,
fetch_texel_1d_f_r8,
fetch_texel_2d_f_r8,
- fetch_texel_3d_f_r8,
- store_texel_r8,
+ fetch_texel_3d_f_r8
},
{
MESA_FORMAT_GR88,
fetch_texel_1d_f_gr88,
fetch_texel_2d_f_gr88,
- fetch_texel_3d_f_gr88,
- store_texel_gr88,
+ fetch_texel_3d_f_gr88
},
{
MESA_FORMAT_RG88,
fetch_texel_1d_f_rg88,
fetch_texel_2d_f_rg88,
- fetch_texel_3d_f_rg88,
- store_texel_rg88,
+ fetch_texel_3d_f_rg88
},
{
MESA_FORMAT_R16,
fetch_texel_1d_f_r16,
fetch_texel_2d_f_r16,
- fetch_texel_3d_f_r16,
- store_texel_r16,
+ fetch_texel_3d_f_r16
},
{
MESA_FORMAT_RG1616,
fetch_texel_1d_f_rg1616,
fetch_texel_2d_f_rg1616,
- fetch_texel_3d_f_rg1616,
- store_texel_rg1616,
+ fetch_texel_3d_f_rg1616
},
{
MESA_FORMAT_RG1616_REV,
fetch_texel_1d_f_rg1616_rev,
fetch_texel_2d_f_rg1616_rev,
- fetch_texel_3d_f_rg1616_rev,
- store_texel_rg1616_rev,
+ fetch_texel_3d_f_rg1616_rev
},
{
MESA_FORMAT_ARGB2101010,
fetch_texel_1d_f_argb2101010,
fetch_texel_2d_f_argb2101010,
- fetch_texel_3d_f_argb2101010,
- store_texel_argb2101010
+ fetch_texel_3d_f_argb2101010
},
{
MESA_FORMAT_Z24_S8,
fetch_texel_1d_f_z24_s8,
fetch_texel_2d_f_z24_s8,
- fetch_texel_3d_f_z24_s8,
- store_texel_z24_s8
+ fetch_texel_3d_f_z24_s8
},
{
MESA_FORMAT_S8_Z24,
fetch_texel_1d_f_s8_z24,
fetch_texel_2d_f_s8_z24,
- fetch_texel_3d_f_s8_z24,
- store_texel_s8_z24
+ fetch_texel_3d_f_s8_z24
},
{
MESA_FORMAT_Z16,
fetch_texel_1d_f_z16,
fetch_texel_2d_f_z16,
- fetch_texel_3d_f_z16,
- store_texel_z16
+ fetch_texel_3d_f_z16
},
{
MESA_FORMAT_X8_Z24,
fetch_texel_1d_f_s8_z24,
fetch_texel_2d_f_s8_z24,
- fetch_texel_3d_f_s8_z24,
- store_texel_s8_z24
+ fetch_texel_3d_f_s8_z24
},
{
MESA_FORMAT_Z24_X8,
fetch_texel_1d_f_z24_s8,
fetch_texel_2d_f_z24_s8,
- fetch_texel_3d_f_z24_s8,
- store_texel_z24_s8
+ fetch_texel_3d_f_z24_s8
},
{
MESA_FORMAT_Z32,
fetch_texel_1d_f_z32,
fetch_texel_2d_f_z32,
- fetch_texel_3d_f_z32,
- store_texel_z32
+ fetch_texel_3d_f_z32
},
{
MESA_FORMAT_S8,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_SRGB8,
fetch_texel_1d_srgb8,
fetch_texel_2d_srgb8,
- fetch_texel_3d_srgb8,
- store_texel_srgb8
+ fetch_texel_3d_srgb8
},
{
MESA_FORMAT_SRGBA8,
fetch_texel_1d_srgba8,
fetch_texel_2d_srgba8,
- fetch_texel_3d_srgba8,
- store_texel_srgba8
+ fetch_texel_3d_srgba8
},
{
MESA_FORMAT_SARGB8,
fetch_texel_1d_sargb8,
fetch_texel_2d_sargb8,
- fetch_texel_3d_sargb8,
- store_texel_sargb8
+ fetch_texel_3d_sargb8
},
{
MESA_FORMAT_SL8,
fetch_texel_1d_sl8,
fetch_texel_2d_sl8,
- fetch_texel_3d_sl8,
- store_texel_sl8
+ fetch_texel_3d_sl8
},
{
MESA_FORMAT_SLA8,
fetch_texel_1d_sla8,
fetch_texel_2d_sla8,
- fetch_texel_3d_sla8,
- store_texel_sla8
+ fetch_texel_3d_sla8
},
{
MESA_FORMAT_SRGB_DXT1,
NULL,
_mesa_fetch_texel_2d_f_srgb_dxt1,
- NULL,
NULL
},
{
MESA_FORMAT_SRGBA_DXT1,
NULL,
_mesa_fetch_texel_2d_f_srgba_dxt1,
- NULL,
NULL
},
{
MESA_FORMAT_SRGBA_DXT3,
NULL,
_mesa_fetch_texel_2d_f_srgba_dxt3,
- NULL,
NULL
},
{
MESA_FORMAT_SRGBA_DXT5,
NULL,
_mesa_fetch_texel_2d_f_srgba_dxt5,
- NULL,
NULL
},
MESA_FORMAT_RGB_FXT1,
NULL,
_mesa_fetch_texel_2d_f_rgb_fxt1,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_FXT1,
NULL,
_mesa_fetch_texel_2d_f_rgba_fxt1,
- NULL,
NULL
},
{
MESA_FORMAT_RGB_DXT1,
NULL,
_mesa_fetch_texel_2d_f_rgb_dxt1,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_DXT1,
NULL,
_mesa_fetch_texel_2d_f_rgba_dxt1,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_DXT3,
NULL,
_mesa_fetch_texel_2d_f_rgba_dxt3,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_DXT5,
NULL,
_mesa_fetch_texel_2d_f_rgba_dxt5,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_FLOAT32,
fetch_texel_1d_f_rgba_f32,
fetch_texel_2d_f_rgba_f32,
- fetch_texel_3d_f_rgba_f32,
- store_texel_rgba_f32
+ fetch_texel_3d_f_rgba_f32
},
{
MESA_FORMAT_RGBA_FLOAT16,
fetch_texel_1d_f_rgba_f16,
fetch_texel_2d_f_rgba_f16,
- fetch_texel_3d_f_rgba_f16,
- store_texel_rgba_f16
+ fetch_texel_3d_f_rgba_f16
},
{
MESA_FORMAT_RGB_FLOAT32,
fetch_texel_1d_f_rgb_f32,
fetch_texel_2d_f_rgb_f32,
- fetch_texel_3d_f_rgb_f32,
- store_texel_rgb_f32
+ fetch_texel_3d_f_rgb_f32
},
{
MESA_FORMAT_RGB_FLOAT16,
fetch_texel_1d_f_rgb_f16,
fetch_texel_2d_f_rgb_f16,
- fetch_texel_3d_f_rgb_f16,
- store_texel_rgb_f16
+ fetch_texel_3d_f_rgb_f16
},
{
MESA_FORMAT_ALPHA_FLOAT32,
fetch_texel_1d_f_alpha_f32,
fetch_texel_2d_f_alpha_f32,
- fetch_texel_3d_f_alpha_f32,
- store_texel_alpha_f32
+ fetch_texel_3d_f_alpha_f32
},
{
MESA_FORMAT_ALPHA_FLOAT16,
fetch_texel_1d_f_alpha_f16,
fetch_texel_2d_f_alpha_f16,
- fetch_texel_3d_f_alpha_f16,
- store_texel_alpha_f16
+ fetch_texel_3d_f_alpha_f16
},
{
MESA_FORMAT_LUMINANCE_FLOAT32,
fetch_texel_1d_f_luminance_f32,
fetch_texel_2d_f_luminance_f32,
- fetch_texel_3d_f_luminance_f32,
- store_texel_luminance_f32
+ fetch_texel_3d_f_luminance_f32
},
{
MESA_FORMAT_LUMINANCE_FLOAT16,
fetch_texel_1d_f_luminance_f16,
fetch_texel_2d_f_luminance_f16,
- fetch_texel_3d_f_luminance_f16,
- store_texel_luminance_f16
+ fetch_texel_3d_f_luminance_f16
},
{
MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32,
fetch_texel_1d_f_luminance_alpha_f32,
fetch_texel_2d_f_luminance_alpha_f32,
- fetch_texel_3d_f_luminance_alpha_f32,
- store_texel_luminance_alpha_f32
+ fetch_texel_3d_f_luminance_alpha_f32
},
{
MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16,
fetch_texel_1d_f_luminance_alpha_f16,
fetch_texel_2d_f_luminance_alpha_f16,
- fetch_texel_3d_f_luminance_alpha_f16,
- store_texel_luminance_alpha_f16
+ fetch_texel_3d_f_luminance_alpha_f16
},
{
MESA_FORMAT_INTENSITY_FLOAT32,
fetch_texel_1d_f_intensity_f32,
fetch_texel_2d_f_intensity_f32,
- fetch_texel_3d_f_intensity_f32,
- store_texel_intensity_f32
+ fetch_texel_3d_f_intensity_f32
},
{
MESA_FORMAT_INTENSITY_FLOAT16,
fetch_texel_1d_f_intensity_f16,
fetch_texel_2d_f_intensity_f16,
- fetch_texel_3d_f_intensity_f16,
- store_texel_intensity_f16
+ fetch_texel_3d_f_intensity_f16
},
{
MESA_FORMAT_R_FLOAT32,
fetch_texel_1d_f_r_f32,
fetch_texel_2d_f_r_f32,
- fetch_texel_3d_f_r_f32,
- store_texel_r_f32
+ fetch_texel_3d_f_r_f32
},
{
MESA_FORMAT_R_FLOAT16,
fetch_texel_1d_f_r_f16,
fetch_texel_2d_f_r_f16,
- fetch_texel_3d_f_r_f16,
- store_texel_r_f16
+ fetch_texel_3d_f_r_f16
},
{
MESA_FORMAT_RG_FLOAT32,
fetch_texel_1d_f_rg_f32,
fetch_texel_2d_f_rg_f32,
- fetch_texel_3d_f_rg_f32,
- store_texel_rg_f32
+ fetch_texel_3d_f_rg_f32
},
{
MESA_FORMAT_RG_FLOAT16,
fetch_texel_1d_f_rg_f16,
fetch_texel_2d_f_rg_f16,
- fetch_texel_3d_f_rg_f16,
- store_texel_rg_f16
+ fetch_texel_3d_f_rg_f16
},
{
MESA_FORMAT_ALPHA_UINT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_ALPHA_UINT16,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_ALPHA_UINT32,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_ALPHA_INT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_ALPHA_INT16,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_ALPHA_INT32,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_INTENSITY_UINT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_INTENSITY_UINT16,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_INTENSITY_UINT32,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_INTENSITY_INT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_INTENSITY_INT16,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_INTENSITY_INT32,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_UINT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_UINT16,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_UINT32,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_INT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_INT16,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_INT32,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_ALPHA_UINT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_ALPHA_UINT16,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_ALPHA_UINT32,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_ALPHA_INT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_ALPHA_INT16,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_LUMINANCE_ALPHA_INT32,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_R_INT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_RG_INT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_RGB_INT8,
NULL,
NULL,
- NULL,
NULL
},
MESA_FORMAT_RGBA_INT8,
fetch_texel_1d_rgba_int8,
fetch_texel_2d_rgba_int8,
- fetch_texel_3d_rgba_int8,
- store_texel_rgba_int8
+ fetch_texel_3d_rgba_int8
},
{
MESA_FORMAT_R_INT16,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RG_INT16,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGB_INT16,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_INT16,
fetch_texel_1d_rgba_int16,
fetch_texel_2d_rgba_int16,
- fetch_texel_3d_rgba_int16,
- store_texel_rgba_int16
+ fetch_texel_3d_rgba_int16
},
{
MESA_FORMAT_R_INT32,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RG_INT32,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGB_INT32,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_INT32,
fetch_texel_1d_rgba_int32,
fetch_texel_2d_rgba_int32,
- fetch_texel_3d_rgba_int32,
- store_texel_rgba_int32
+ fetch_texel_3d_rgba_int32
},
/* non-normalized, unsigned int */
MESA_FORMAT_R_UINT8,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RG_UINT8,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGB_UINT8,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_UINT8,
fetch_texel_1d_rgba_uint8,
fetch_texel_2d_rgba_uint8,
- fetch_texel_3d_rgba_uint8,
- store_texel_rgba_uint8
+ fetch_texel_3d_rgba_uint8
},
{
MESA_FORMAT_R_UINT16,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RG_UINT16,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGB_UINT16,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_UINT16,
fetch_texel_1d_rgba_uint16,
fetch_texel_2d_rgba_uint16,
- fetch_texel_3d_rgba_uint16,
- store_texel_rgba_uint16
+ fetch_texel_3d_rgba_uint16
},
{
MESA_FORMAT_R_UINT32,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RG_UINT32,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGB_UINT32,
NULL,
NULL,
- NULL,
NULL
},
{
MESA_FORMAT_RGBA_UINT32,
fetch_texel_1d_rgba_uint32,
fetch_texel_2d_rgba_uint32,
- fetch_texel_3d_rgba_uint32,
- store_texel_rgba_uint32
+ fetch_texel_3d_rgba_uint32
},
/* dudv */
MESA_FORMAT_DUDV8,
fetch_texel_1d_dudv8,
fetch_texel_2d_dudv8,
- fetch_texel_3d_dudv8,
- NULL
+ fetch_texel_3d_dudv8
},
/* signed, normalized */
MESA_FORMAT_SIGNED_R8,
fetch_texel_1d_signed_r8,
fetch_texel_2d_signed_r8,
- fetch_texel_3d_signed_r8,
- store_texel_signed_r8
+ fetch_texel_3d_signed_r8
},
{
MESA_FORMAT_SIGNED_RG88_REV,
fetch_texel_1d_signed_rg88_rev,
fetch_texel_2d_signed_rg88_rev,
- fetch_texel_3d_signed_rg88_rev,
- store_texel_signed_rg88_rev
+ fetch_texel_3d_signed_rg88_rev
},
{
MESA_FORMAT_SIGNED_RGBX8888,
fetch_texel_1d_signed_rgbx8888,
fetch_texel_2d_signed_rgbx8888,
- fetch_texel_3d_signed_rgbx8888,
- store_texel_signed_rgbx8888
+ fetch_texel_3d_signed_rgbx8888
},
{
MESA_FORMAT_SIGNED_RGBA8888,
fetch_texel_1d_signed_rgba8888,
fetch_texel_2d_signed_rgba8888,
- fetch_texel_3d_signed_rgba8888,
- store_texel_signed_rgba8888
+ fetch_texel_3d_signed_rgba8888
},
{
MESA_FORMAT_SIGNED_RGBA8888_REV,
fetch_texel_1d_signed_rgba8888_rev,
fetch_texel_2d_signed_rgba8888_rev,
- fetch_texel_3d_signed_rgba8888_rev,
- store_texel_signed_rgba8888_rev
+ fetch_texel_3d_signed_rgba8888_rev
},
{
MESA_FORMAT_SIGNED_R16,
fetch_texel_1d_signed_r16,
fetch_texel_2d_signed_r16,
- fetch_texel_3d_signed_r16,
- store_texel_signed_r16
+ fetch_texel_3d_signed_r16
},
{
MESA_FORMAT_SIGNED_GR1616,
fetch_texel_1d_signed_rg1616,
fetch_texel_2d_signed_rg1616,
- fetch_texel_3d_signed_rg1616,
- store_texel_signed_rg1616
+ fetch_texel_3d_signed_rg1616
},
{
MESA_FORMAT_SIGNED_RGB_16,
fetch_texel_1d_signed_rgb_16,
fetch_texel_2d_signed_rgb_16,
- fetch_texel_3d_signed_rgb_16,
- store_texel_signed_rgb_16
+ fetch_texel_3d_signed_rgb_16
},
{
MESA_FORMAT_SIGNED_RGBA_16,
fetch_texel_1d_signed_rgba_16,
fetch_texel_2d_signed_rgba_16,
- fetch_texel_3d_signed_rgba_16,
- store_texel_signed_rgba_16
+ fetch_texel_3d_signed_rgba_16
},
{
MESA_FORMAT_RGBA_16,
fetch_texel_1d_rgba_16,
fetch_texel_2d_rgba_16,
- fetch_texel_3d_rgba_16,
- store_texel_rgba_16
+ fetch_texel_3d_rgba_16
},
{
MESA_FORMAT_RED_RGTC1,
NULL,
_mesa_fetch_texel_2d_f_red_rgtc1,
- NULL,
NULL
},
{
MESA_FORMAT_SIGNED_RED_RGTC1,
NULL,
_mesa_fetch_texel_2d_f_signed_red_rgtc1,
- NULL,
NULL
},
{
MESA_FORMAT_RG_RGTC2,
NULL,
_mesa_fetch_texel_2d_f_rg_rgtc2,
- NULL,
NULL
},
{
MESA_FORMAT_SIGNED_RG_RGTC2,
NULL,
_mesa_fetch_texel_2d_f_signed_rg_rgtc2,
- NULL,
NULL
},
{
MESA_FORMAT_L_LATC1,
NULL,
_mesa_fetch_texel_2d_f_l_latc1,
- NULL,
NULL
},
{
MESA_FORMAT_SIGNED_L_LATC1,
NULL,
_mesa_fetch_texel_2d_f_signed_l_latc1,
- NULL,
NULL
},
{
MESA_FORMAT_LA_LATC2,
NULL,
_mesa_fetch_texel_2d_f_la_latc2,
- NULL,
NULL
},
{
MESA_FORMAT_SIGNED_LA_LATC2,
NULL,
_mesa_fetch_texel_2d_f_signed_la_latc2,
- NULL,
NULL
},
{
MESA_FORMAT_ETC1_RGB8,
NULL,
_mesa_fetch_texel_2d_f_etc1_rgb8,
- NULL,
NULL
},
{
MESA_FORMAT_SIGNED_A8,
fetch_texel_1d_signed_a8,
fetch_texel_2d_signed_a8,
- fetch_texel_3d_signed_a8,
- store_texel_signed_a8
+ fetch_texel_3d_signed_a8
},
{
MESA_FORMAT_SIGNED_L8,
fetch_texel_1d_signed_l8,
fetch_texel_2d_signed_l8,
- fetch_texel_3d_signed_l8,
- store_texel_signed_l8
+ fetch_texel_3d_signed_l8
},
{
MESA_FORMAT_SIGNED_AL88,
fetch_texel_1d_signed_al88,
fetch_texel_2d_signed_al88,
- fetch_texel_3d_signed_al88,
- store_texel_signed_al88
+ fetch_texel_3d_signed_al88
},
{
MESA_FORMAT_SIGNED_I8,
fetch_texel_1d_signed_i8,
fetch_texel_2d_signed_i8,
- fetch_texel_3d_signed_i8,
- store_texel_signed_i8
+ fetch_texel_3d_signed_i8
},
{
MESA_FORMAT_SIGNED_A16,
fetch_texel_1d_signed_a16,
fetch_texel_2d_signed_a16,
- fetch_texel_3d_signed_a16,
- store_texel_signed_a16
+ fetch_texel_3d_signed_a16
},
{
MESA_FORMAT_SIGNED_L16,
fetch_texel_1d_signed_l16,
fetch_texel_2d_signed_l16,
- fetch_texel_3d_signed_l16,
- store_texel_signed_l16
+ fetch_texel_3d_signed_l16
},
{
MESA_FORMAT_SIGNED_AL1616,
fetch_texel_1d_signed_al1616,
fetch_texel_2d_signed_al1616,
- fetch_texel_3d_signed_al1616,
- store_texel_signed_al1616
+ fetch_texel_3d_signed_al1616
},
{
MESA_FORMAT_SIGNED_I16,
fetch_texel_1d_signed_i16,
fetch_texel_2d_signed_i16,
- fetch_texel_3d_signed_i16,
- store_texel_signed_i16
+ fetch_texel_3d_signed_i16
},
{
MESA_FORMAT_RGB9_E5_FLOAT,
fetch_texel_1d_rgb9_e5,
fetch_texel_2d_rgb9_e5,
- fetch_texel_3d_rgb9_e5,
- store_texel_rgb9_e5
+ fetch_texel_3d_rgb9_e5
},
{
MESA_FORMAT_R11_G11_B10_FLOAT,
fetch_texel_1d_r11_g11_b10f,
fetch_texel_2d_r11_g11_b10f,
- fetch_texel_3d_r11_g11_b10f,
- store_texel_r11_g11_b10f
+ fetch_texel_3d_r11_g11_b10f
},
{
MESA_FORMAT_Z32_FLOAT,
fetch_texel_1d_f_r_f32, /* Reuse the R32F functions. */
fetch_texel_2d_f_r_f32,
- fetch_texel_3d_f_r_f32,
- store_texel_r_f32
+ fetch_texel_3d_f_r_f32
},
{
MESA_FORMAT_Z32_FLOAT_X24S8,
fetch_texel_1d_z32f_x24s8,
fetch_texel_2d_z32f_x24s8,
- fetch_texel_3d_z32f_x24s8,
- store_texel_z32f_x24s8
+ fetch_texel_3d_z32f_x24s8
},
{
MESA_FORMAT_ARGB2101010_UINT,
NULL,
NULL,
- NULL,
NULL
}
};
}
-StoreTexelFunc
-_mesa_get_texel_store_func(gl_format format)
-{
- assert(format < MESA_FORMAT_COUNT);
- return texfetch_funcs[format].StoreTexel;
-}
-
-
/**
* Initialize the texture image's FetchTexel methods.
*/
texel[0] = src[0] * (1.0F / 0xffffffff);
}
-#if DIM == 3
-static void store_texel_z32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLuint *depth = (const GLuint *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- dst[0] = *depth;
-}
-#endif
-
/* MESA_FORMAT_Z16 ***********************************************************/
texel[0] = src[0] * (1.0F / 65535.0F);
}
-#if DIM == 3
-static void store_texel_z16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLushort *depth = (const GLushort *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- dst[0] = *depth;
-}
-#endif
/* MESA_FORMAT_RGBA_F32 ******************************************************/
texel[ACOMP] = src[3];
}
-#if DIM == 3
-static void store_texel_rgba_f32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *depth = (const GLfloat *) texel;
- GLfloat *dst = TEXEL_ADDR(GLfloat, texImage, i, j, k, 4);
- dst[0] = depth[RCOMP];
- dst[1] = depth[GCOMP];
- dst[2] = depth[BCOMP];
- dst[3] = depth[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_RGBA_F16 ******************************************************/
texel[ACOMP] = _mesa_half_to_float(src[3]);
}
-#if DIM == 3
-static void store_texel_rgba_f16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *src = (const GLfloat *) texel;
- GLhalfARB *dst = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 4);
- dst[0] = _mesa_float_to_half(src[RCOMP]);
- dst[1] = _mesa_float_to_half(src[GCOMP]);
- dst[2] = _mesa_float_to_half(src[BCOMP]);
- dst[3] = _mesa_float_to_half(src[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_RGB_F32 *******************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_rgb_f32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *src = (const GLfloat *) texel;
- GLfloat *dst = TEXEL_ADDR(GLfloat, texImage, i, j, k, 3);
- dst[0] = src[RCOMP];
- dst[1] = src[GCOMP];
- dst[2] = src[BCOMP];
-}
-#endif
+
/* MESA_FORMAT_RGB_F16 *******************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_rgb_f16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *src = (const GLfloat *) texel;
- GLhalfARB *dst = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 3);
- dst[0] = _mesa_float_to_half(src[RCOMP]);
- dst[1] = _mesa_float_to_half(src[GCOMP]);
- dst[2] = _mesa_float_to_half(src[BCOMP]);
-}
-#endif
+
/* MESA_FORMAT_ALPHA_F32 *****************************************************/
texel[ACOMP] = src[0];
}
-#if DIM == 3
-static void store_texel_alpha_f32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLfloat *dst = TEXEL_ADDR(GLfloat, texImage, i, j, k, 1);
- dst[0] = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_ALPHA_F32 *****************************************************/
texel[ACOMP] = _mesa_half_to_float(src[0]);
}
-#if DIM == 3
-static void store_texel_alpha_f16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLhalfARB *dst = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 1);
- dst[0] = _mesa_float_to_half(rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_LUMINANCE_F32 *************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_luminance_f32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLfloat *dst = TEXEL_ADDR(GLfloat, texImage, i, j, k, 1);
- dst[0] = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_LUMINANCE_F16 *************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_luminance_f16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLhalfARB *dst = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 1);
- dst[0] = _mesa_float_to_half(rgba[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_LUMINANCE_ALPHA_F32 *******************************************/
texel[ACOMP] = src[1];
}
-#if DIM == 3
-static void store_texel_luminance_alpha_f32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLfloat *dst = TEXEL_ADDR(GLfloat, texImage, i, j, k, 2);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_LUMINANCE_ALPHA_F16 *******************************************/
texel[ACOMP] = _mesa_half_to_float(src[1]);
}
-#if DIM == 3
-static void store_texel_luminance_alpha_f16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLhalfARB *dst = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 2);
- dst[0] = _mesa_float_to_half(rgba[RCOMP]);
- dst[1] = _mesa_float_to_half(rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_INTENSITY_F32 *************************************************/
texel[ACOMP] = src[0];
}
-#if DIM == 3
-static void store_texel_intensity_f32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLfloat *dst = TEXEL_ADDR(GLfloat, texImage, i, j, k, 1);
- dst[0] = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_INTENSITY_F16 *************************************************/
texel[ACOMP] = _mesa_half_to_float(src[0]);
}
-#if DIM == 3
-static void store_texel_intensity_f16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLhalfARB *dst = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 1);
- dst[0] = _mesa_float_to_half(rgba[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_R_FLOAT32 *****************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_r_f32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLfloat *dst = TEXEL_ADDR(GLfloat, texImage, i, j, k, 1);
- dst[0] = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_R_FLOAT16 *****************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_r_f16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLhalfARB *dst = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 1);
- dst[0] = _mesa_float_to_half(rgba[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_RG_FLOAT32 ****************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_rg_f32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLfloat *dst = TEXEL_ADDR(GLfloat, texImage, i, j, k, 2);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[GCOMP];
-}
-#endif
+
/* MESA_FORMAT_RG_FLOAT16 ****************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_rg_f16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *rgba = (const GLfloat *) texel;
- GLhalfARB *dst = TEXEL_ADDR(GLhalfARB, texImage, i, j, k, 2);
- dst[0] = _mesa_float_to_half(rgba[RCOMP]);
- dst[1] = _mesa_float_to_half(rgba[GCOMP]);
-}
-#endif
+
/*
-#if DIM == 3
-static void store_texel_rgba8888(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_RGBA888_REV ***************************************************/
texel[ACOMP] = UBYTE_TO_FLOAT( (s >> 24) );
}
-#if DIM == 3
-static void store_texel_rgba8888_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888_REV(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_ARGB8888 ******************************************************/
texel[ACOMP] = UBYTE_TO_FLOAT( (s >> 24) );
}
-#if DIM == 3
-static void store_texel_argb8888(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(rgba[ACOMP], rgba[RCOMP], rgba[GCOMP], rgba[BCOMP]);
-}
-#endif
+
/* MESA_FORMAT_ARGB8888_REV **************************************************/
texel[ACOMP] = UBYTE_TO_FLOAT( (s ) & 0xff );
}
-#if DIM == 3
-static void store_texel_argb8888_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(rgba[BCOMP], rgba[GCOMP], rgba[RCOMP], rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_RGBX8888 ******************************************************/
texel[ACOMP] = 1.0f;
}
-#if DIM == 3
-static void store_texel_rgbx8888(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], 0xff);
-}
-#endif
+
/* MESA_FORMAT_RGBX888_REV ***************************************************/
texel[ACOMP] = 1.0f;
}
-#if DIM == 3
-static void store_texel_rgbx8888_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888_REV(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], 0xff);
-}
-#endif
+
/* MESA_FORMAT_XRGB8888 ******************************************************/
texel[ACOMP] = 1.0f;
}
-#if DIM == 3
-static void store_texel_xrgb8888(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(0xff, rgba[RCOMP], rgba[GCOMP], rgba[BCOMP]);
-}
-#endif
+
/* MESA_FORMAT_XRGB8888_REV **************************************************/
texel[ACOMP] = 1.0f;
}
-#if DIM == 3
-static void store_texel_xrgb8888_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(rgba[BCOMP], rgba[GCOMP], rgba[RCOMP], 0xff);
-}
-#endif
+
/* MESA_FORMAT_RGB888 ********************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_rgb888(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 3);
- dst[0] = rgba[BCOMP];
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_BGR888 ********************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_bgr888(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 3);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[BCOMP];
-}
-#endif
+
/* use color expansion like (g << 2) | (g >> 4) (does somewhat random rounding)
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_rgb565(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_565(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP]);
-}
-#endif
+
/* MESA_FORMAT_RGB565_REV ****************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_rgb565_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- GLushort p = PACK_COLOR_565(CHAN_TO_UBYTE(rgba[RCOMP]),
- CHAN_TO_UBYTE(rgba[GCOMP]),
- CHAN_TO_UBYTE(rgba[BCOMP]));
- *dst = (p >> 8) | (p << 8); /* byte swap */
-}
-#endif
+
/* MESA_FORMAT_ARGB4444 ******************************************************/
texel[ACOMP] = ((s >> 12) & 0xf) * (1.0F / 15.0F);
}
-#if DIM == 3
-static void store_texel_argb4444(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_4444(CHAN_TO_UBYTE(rgba[ACOMP]),
- CHAN_TO_UBYTE(rgba[RCOMP]),
- CHAN_TO_UBYTE(rgba[GCOMP]),
- CHAN_TO_UBYTE(rgba[BCOMP]));
-}
-#endif
+
/* MESA_FORMAT_ARGB4444_REV **************************************************/
texel[ACOMP] = ((s >> 4) & 0xf) * (1.0F / 15.0F);
}
-#if DIM == 3
-static void store_texel_argb4444_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_4444(CHAN_TO_UBYTE(rgba[GCOMP]),
- CHAN_TO_UBYTE(rgba[BCOMP]),
- CHAN_TO_UBYTE(rgba[ACOMP]),
- CHAN_TO_UBYTE(rgba[RCOMP]));
-}
-#endif
+
/* MESA_FORMAT_RGBA5551 ******************************************************/
texel[ACOMP] = ((s ) & 0x01) * 1.0F;
}
-#if DIM == 3
-static void store_texel_rgba5551(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_5551(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_ARGB1555 ******************************************************/
texel[ACOMP] = ((s >> 15) & 0x01) * 1.0F;
}
-#if DIM == 3
-static void store_texel_argb1555(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_1555(rgba[ACOMP], rgba[RCOMP], rgba[GCOMP], rgba[BCOMP]);
-}
-#endif
+
/* MESA_FORMAT_ARGB1555_REV **************************************************/
texel[ACOMP] = UBYTE_TO_FLOAT( ((s >> 15) & 0x01) * 255 );
}
-#if DIM == 3
-static void store_texel_argb1555_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_1555_REV(rgba[ACOMP], rgba[RCOMP], rgba[GCOMP], rgba[BCOMP]);
-}
-#endif
+
/* MESA_FORMAT_ARGB2101010 ***************************************************/
texel[ACOMP] = ((s >> 30) & 0x03) * (1.0F / 3.0F);
}
-#if DIM == 3
-static void store_texel_argb2101010(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- GLushort r = CHAN_TO_USHORT(rgba[RCOMP]);
- GLushort g = CHAN_TO_USHORT(rgba[GCOMP]);
- GLushort b = CHAN_TO_USHORT(rgba[BCOMP]);
- GLushort a = CHAN_TO_USHORT(rgba[ACOMP]);
- *dst = PACK_COLOR_2101010_US(a, r, g, b);
-}
-#endif
+
/* MESA_FORMAT_GR88 **********************************************************/
texel[ACOMP] = 1.0;
}
-#if DIM == 3
-static void store_texel_gr88(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- GLubyte r = CHAN_TO_UBYTE(rgba[RCOMP]);
- GLubyte g = CHAN_TO_UBYTE(rgba[GCOMP]);
- *dst = PACK_COLOR_88(g, r);
-}
-#endif
+
/* MESA_FORMAT_RG88 ******************************************************/
texel[ACOMP] = 1.0;
}
-#if DIM == 3
-static void store_texel_rg88(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_88(rgba[RCOMP], rgba[GCOMP]);
-}
-#endif
+
/* MESA_FORMAT_AL44 **********************************************************/
texel[ACOMP] = ((s >> 4) & 0xf) * (1.0F / 15.0F);
}
-#if DIM == 3
-static void store_texel_al44(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 1);
- *dst = PACK_COLOR_44(rgba[ACOMP], rgba[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_AL88 **********************************************************/
texel[ACOMP] = UBYTE_TO_FLOAT( s >> 8 );
}
-#if DIM == 3
-static void store_texel_al88(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_88(rgba[ACOMP], rgba[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_R8 ************************************************************/
texel[ACOMP] = 1.0;
}
-#if DIM == 3
-static void store_texel_r8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 1);
- *dst = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_R16 ***********************************************************/
texel[ACOMP] = 1.0;
}
-#if DIM == 3
-static void store_texel_r16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = CHAN_TO_USHORT(rgba[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_AL88_REV ******************************************************/
texel[ACOMP] = UBYTE_TO_FLOAT( s & 0xff );
}
-#if DIM == 3
-static void store_texel_al88_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_88(rgba[RCOMP], rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_RG1616 ********************************************************/
texel[ACOMP] = 1.0;
}
-#if DIM == 3
-static void store_texel_rg1616(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- GLushort r = CHAN_TO_USHORT(rgba[RCOMP]);
- GLushort g = CHAN_TO_USHORT(rgba[GCOMP]);
- *dst = PACK_COLOR_1616(g, r);
-}
-#endif
+
/* MESA_FORMAT_RG1616_REV ****************************************************/
texel[ACOMP] = 1.0;
}
-#if DIM == 3
-static void store_texel_rg1616_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = PACK_COLOR_1616(rgba[GCOMP], rgba[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_AL1616 ********************************************************/
texel[ACOMP] = USHORT_TO_FLOAT( s >> 16 );
}
-#if DIM == 3
-static void store_texel_al1616(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- GLushort l = CHAN_TO_USHORT(rgba[RCOMP]);
- GLushort a = CHAN_TO_USHORT(rgba[ACOMP]);
- *dst = PACK_COLOR_1616(a, l);
-}
-#endif
+
/* MESA_FORMAT_AL1616_REV ****************************************************/
texel[ACOMP] = USHORT_TO_FLOAT( s & 0xffff );
}
-#if DIM == 3
-static void store_texel_al1616_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLushort *rgba = (const GLushort *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_1616(rgba[RCOMP], rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_RGB332 ********************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_rgb332(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 1);
- *dst = PACK_COLOR_332(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP]);
-}
-#endif
+
/* MESA_FORMAT_A8 ************************************************************/
texel[ACOMP] = UBYTE_TO_FLOAT( src[0] );
}
-#if DIM == 3
-static void store_texel_a8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 1);
- *dst = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_A16 ************************************************************/
texel[ACOMP] = USHORT_TO_FLOAT( src[0] );
}
-#if DIM == 3
-static void store_texel_a16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = CHAN_TO_USHORT(rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_L8 ************************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_l8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 1);
- *dst = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_L16 ***********************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_l16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = CHAN_TO_USHORT(rgba[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_I8 ************************************************************/
texel[ACOMP] = UBYTE_TO_FLOAT( src[0] );
}
-#if DIM == 3
-static void store_texel_i8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 1);
- *dst = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_I16 ***********************************************************/
texel[ACOMP] = USHORT_TO_FLOAT( src[0] );
}
-#if DIM == 3
-static void store_texel_i16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- *dst = CHAN_TO_USHORT(rgba[RCOMP]);
-}
-#endif
+
/* Fetch texel from 1D, 2D or 3D srgb8 texture, return 4 GLfloats */
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_srgb8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 3);
- dst[0] = rgba[BCOMP]; /* no conversion */
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[RCOMP];
-}
-#endif
+
/* Fetch texel from 1D, 2D or 3D srgba8 texture, return 4 GLfloats */
static void FETCH(srgba8)(const struct swrast_texture_image *texImage,
texel[ACOMP] = UBYTE_TO_FLOAT( (s ) & 0xff ); /* linear! */
}
-#if DIM == 3
-static void store_texel_srgba8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], rgba[ACOMP]);
-}
-#endif
+
/* Fetch texel from 1D, 2D or 3D sargb8 texture, return 4 GLfloats */
static void FETCH(sargb8)(const struct swrast_texture_image *texImage,
texel[ACOMP] = UBYTE_TO_FLOAT( (s >> 24) ); /* linear! */
}
-#if DIM == 3
-static void store_texel_sargb8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(rgba[ACOMP], rgba[RCOMP], rgba[GCOMP], rgba[BCOMP]);
-}
-#endif
+
/* Fetch texel from 1D, 2D or 3D sl8 texture, return 4 GLfloats */
static void FETCH(sl8)(const struct swrast_texture_image *texImage,
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_sl8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 1);
- dst[0] = rgba[RCOMP];
-}
-#endif
+
/* Fetch texel from 1D, 2D or 3D sla8 texture, return 4 GLfloats */
static void FETCH(sla8)(const struct swrast_texture_image *texImage,
texel[ACOMP] = UBYTE_TO_FLOAT(src[1]); /* linear */
}
-#if DIM == 3
-static void store_texel_sla8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 2);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_RGBA_INT8 **************************************************/
texel[ACOMP] = (GLfloat) src[3];
}
-#if DIM == 3
-static void
-store_texel_rgba_int8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLbyte *rgba = (const GLbyte *) texel;
- GLbyte *dst = TEXEL_ADDR(GLbyte, texImage, i, j, k, 4);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[BCOMP];
- dst[3] = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_RGBA_INT16 **************************************************/
texel[ACOMP] = (GLfloat) src[3];
}
-#if DIM == 3
-static void
-store_texel_rgba_int16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLshort *rgba = (const GLshort *) texel;
- GLshort *dst = TEXEL_ADDR(GLshort, texImage, i, j, k, 4);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[BCOMP];
- dst[3] = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_RGBA_INT32 **************************************************/
texel[ACOMP] = (GLfloat) src[3];
}
-#if DIM == 3
-static void
-store_texel_rgba_int32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLint *rgba = (const GLint *) texel;
- GLint *dst = TEXEL_ADDR(GLint, texImage, i, j, k, 4);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[BCOMP];
- dst[3] = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_RGBA_UINT8 **************************************************/
texel[ACOMP] = (GLfloat) src[3];
}
-#if DIM == 3
-static void
-store_texel_rgba_uint8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLubyte *dst = TEXEL_ADDR(GLubyte, texImage, i, j, k, 4);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[BCOMP];
- dst[3] = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_RGBA_UINT16 **************************************************/
texel[ACOMP] = (GLfloat) src[3];
}
-#if DIM == 3
-static void
-store_texel_rgba_uint16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLushort *rgba = (const GLushort *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 4);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[BCOMP];
- dst[3] = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_RGBA_UINT32 **************************************************/
texel[ACOMP] = (GLfloat) src[3];
}
-#if DIM == 3
-static void
-store_texel_rgba_uint32(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLuint *rgba = (const GLuint *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 4);
- dst[0] = rgba[RCOMP];
- dst[1] = rgba[GCOMP];
- dst[2] = rgba[BCOMP];
- dst[3] = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_DUDV8 ********************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_signed_r8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLbyte *rgba = (const GLbyte *) texel;
- GLbyte *dst = TEXEL_ADDR(GLbyte, texImage, i, j, k, 1);
- *dst = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_SIGNED_A8 ***********************************************/
texel[ACOMP] = BYTE_TO_FLOAT_TEX( s );
}
-#if DIM == 3
-static void store_texel_signed_a8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLbyte *rgba = (const GLbyte *) texel;
- GLbyte *dst = TEXEL_ADDR(GLbyte, texImage, i, j, k, 1);
- *dst = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_SIGNED_L8 ***********************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_signed_l8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLbyte *rgba = (const GLbyte *) texel;
- GLbyte *dst = TEXEL_ADDR(GLbyte, texImage, i, j, k, 1);
- *dst = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_SIGNED_I8 ***********************************************/
texel[ACOMP] = BYTE_TO_FLOAT_TEX( s );
}
-#if DIM == 3
-static void store_texel_signed_i8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLbyte *rgba = (const GLbyte *) texel;
- GLbyte *dst = TEXEL_ADDR(GLbyte, texImage, i, j, k, 1);
- *dst = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_SIGNED_RG88_REV ***********************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_signed_rg88_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLbyte *rg = (const GLbyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- dst[0] = PACK_COLOR_88(rg[GCOMP], rg[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_SIGNED_AL88 ***********************************************/
texel[ACOMP] = BYTE_TO_FLOAT_TEX( (GLbyte) (s >> 8) );
}
-#if DIM == 3
-static void store_texel_signed_al88(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLbyte *rg = (const GLbyte *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
- dst[0] = PACK_COLOR_88(rg[ACOMP], rg[RCOMP]);
-}
-#endif
+
/* MESA_FORMAT_SIGNED_RGBX8888 ***********************************************/
texel[ACOMP] = 1.0f;
}
-#if DIM == 3
-static void store_texel_signed_rgbx8888(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLbyte *rgba = (const GLbyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], 255);
-}
-#endif
+
/* MESA_FORMAT_SIGNED_RGBA8888 ***********************************************/
texel[ACOMP] = BYTE_TO_FLOAT_TEX( (GLbyte) (s ) );
}
-#if DIM == 3
-static void store_texel_signed_rgba8888(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLbyte *rgba = (const GLbyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], rgba[ACOMP]);
-}
-#endif
+
static void FETCH(signed_rgba8888_rev)( const struct swrast_texture_image *texImage,
GLint i, GLint j, GLint k, GLfloat *texel )
texel[ACOMP] = BYTE_TO_FLOAT_TEX( (GLbyte) (s >> 24) );
}
-#if DIM == 3
-static void store_texel_signed_rgba8888_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLubyte *rgba = (const GLubyte *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = PACK_COLOR_8888_REV(rgba[RCOMP], rgba[GCOMP], rgba[BCOMP], rgba[ACOMP]);
-}
-#endif
+
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void
-store_texel_signed_r16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLshort *rgba = (const GLshort *) texel;
- GLshort *dst = TEXEL_ADDR(GLshort, texImage, i, j, k, 1);
- *dst = rgba[0];
-}
-#endif
+
/* MESA_FORMAT_SIGNED_A16 ***********************************************/
texel[ACOMP] = SHORT_TO_FLOAT_TEX( s );
}
-#if DIM == 3
-static void
-store_texel_signed_a16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLshort *rgba = (const GLshort *) texel;
- GLshort *dst = TEXEL_ADDR(GLshort, texImage, i, j, k, 1);
- *dst = rgba[ACOMP];
-}
-#endif
+
/* MESA_FORMAT_SIGNED_L16 ***********************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void
-store_texel_signed_l16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLshort *rgba = (const GLshort *) texel;
- GLshort *dst = TEXEL_ADDR(GLshort, texImage, i, j, k, 1);
- *dst = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_SIGNED_I16 ***********************************************/
texel[ACOMP] = SHORT_TO_FLOAT_TEX( s );
}
-#if DIM == 3
-static void
-store_texel_signed_i16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLshort *rgba = (const GLshort *) texel;
- GLshort *dst = TEXEL_ADDR(GLshort, texImage, i, j, k, 1);
- *dst = rgba[RCOMP];
-}
-#endif
+
/* MESA_FORMAT_SIGNED_RG1616 ***********************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void
-store_texel_signed_rg1616(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLshort *dst = TEXEL_ADDR(GLshort, texImage, i, j, k, 2);
- dst[0] = CHAN_TO_SHORT(rgba[RCOMP]);
- dst[1] = CHAN_TO_SHORT(rgba[GCOMP]);
-}
-#endif
+
/* MESA_FORMAT_SIGNED_AL1616 ***********************************************/
texel[ACOMP] = SHORT_TO_FLOAT_TEX( s[1] );
}
-#if DIM == 3
-static void
-store_texel_signed_al1616(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLshort *dst = TEXEL_ADDR(GLshort, texImage, i, j, k, 2);
- dst[0] = CHAN_TO_SHORT(rgba[RCOMP]);
- dst[1] = CHAN_TO_SHORT(rgba[ACOMP]);
-}
-#endif
+
/* MESA_FORMAT_SIGNED_RGB_16 ***********************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void
-store_texel_signed_rgb_16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLshort *dst = TEXEL_ADDR(GLshort, texImage, i, j, k, 3);
- dst[0] = CHAN_TO_SHORT(rgba[RCOMP]);
- dst[1] = CHAN_TO_SHORT(rgba[GCOMP]);
- dst[2] = CHAN_TO_SHORT(rgba[BCOMP]);
-}
-#endif
+
/* MESA_FORMAT_SIGNED_RGBA_16 ***********************************************/
texel[ACOMP] = SHORT_TO_FLOAT_TEX( s[3] );
}
-#if DIM == 3
-static void
-store_texel_signed_rgba_16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLshort *dst = TEXEL_ADDR(GLshort, texImage, i, j, k, 4);
- dst[0] = CHAN_TO_SHORT(rgba[RCOMP]);
- dst[1] = CHAN_TO_SHORT(rgba[GCOMP]);
- dst[2] = CHAN_TO_SHORT(rgba[BCOMP]);
- dst[3] = CHAN_TO_SHORT(rgba[ACOMP]);
-}
-#endif
+
texel[ACOMP] = USHORT_TO_FLOAT( s[3] );
}
-#if DIM == 3
-static void
-store_texel_rgba_16(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLchan *rgba = (const GLchan *) texel;
- GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 4);
- dst[0] = CHAN_TO_USHORT(rgba[RCOMP]);
- dst[1] = CHAN_TO_USHORT(rgba[GCOMP]);
- dst[2] = CHAN_TO_USHORT(rgba[BCOMP]);
- dst[3] = CHAN_TO_USHORT(rgba[ACOMP]);
-}
-#endif
+
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_ycbcr(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- (void) texImage;
- (void) i;
- (void) j;
- (void) k;
- (void) texel;
- /* XXX to do */
-}
-#endif
+
/* MESA_FORMAT_YCBCR_REV *****************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_ycbcr_rev(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- (void) texImage;
- (void) i;
- (void) j;
- (void) k;
- (void) texel;
- /* XXX to do */
-}
-#endif
+
/* MESA_TEXFORMAT_Z24_S8 ***************************************************/
ASSERT(texel[0] <= 1.0F);
}
-#if DIM == 3
-static void store_texel_z24_s8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- /* only store Z, not stencil */
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- GLfloat depth = *((GLfloat *) texel);
- GLuint zi = ((GLuint) (depth * 0xffffff)) << 8;
- *dst = zi | (*dst & 0xff);
-}
-#endif
+
/* MESA_TEXFORMAT_S8_Z24 ***************************************************/
ASSERT(texel[0] <= 1.0F);
}
-#if DIM == 3
-static void store_texel_s8_z24(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- /* only store Z, not stencil */
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- GLfloat depth = *((GLfloat *) texel);
- GLuint zi = (GLuint) (depth * 0xffffff);
- *dst = zi | (*dst & 0xff000000);
-}
-#endif
+
/* MESA_FORMAT_RGB9_E5 ******************************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_rgb9_e5(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *src = (const GLfloat *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = float3_to_rgb9e5(src);
-}
-#endif
+
/* MESA_FORMAT_R11_G11_B10_FLOAT *********************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_r11_g11_b10f(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *src = (const GLfloat *) texel;
- GLuint *dst = TEXEL_ADDR(GLuint, texImage, i, j, k, 1);
- *dst = float3_to_r11g11b10f(src);
-}
-#endif
+
/* MESA_FORMAT_Z32_FLOAT_X24S8 ***********************************************/
texel[ACOMP] = 1.0F;
}
-#if DIM == 3
-static void store_texel_z32f_x24s8(struct swrast_texture_image *texImage,
- GLint i, GLint j, GLint k, const void *texel)
-{
- const GLfloat *src = (const GLfloat *) texel;
- GLfloat *dst = TEXEL_ADDR(GLfloat, texImage, i, j, k, 2);
- dst[0] = src[0];
-}
-#endif
#undef TEXEL_ADDR