radeonsi: implement GL_ARB_vertex_type_10f_11f_11f_rev
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
+1
-1
@@ -188,7 +188,7 @@ GL 4.4:
|
||||
GL_ARB_query_buffer_object not started
|
||||
GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv30, nv50, nvc0, r300, r600, radeonsi, swrast)
|
||||
GL_ARB_texture_stencil8 not started
|
||||
GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, nvc0, r600)
|
||||
GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, nvc0, r600, radeonsi)
|
||||
|
||||
|
||||
More info about these features and the work involved can be found at
|
||||
|
||||
@@ -47,6 +47,7 @@ Note: some of the new features are only available with certain drivers.
|
||||
<li>GL_ARB_buffer_storage on i965, r300, r600, and radeonsi</li>
|
||||
<li>GL_ARB_stencil_texturing on i965/gen8+</li>
|
||||
<li>GL_ARB_texture_view on i965/gen7</li>
|
||||
<li>GL_ARB_vertex_type_10f_11f_11f_rev on radeonsi</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
@@ -1336,6 +1336,9 @@ static uint32_t si_translate_buffer_dataformat(struct pipe_screen *screen,
|
||||
if (type == UTIL_FORMAT_TYPE_FIXED)
|
||||
return V_008F0C_BUF_DATA_FORMAT_INVALID;
|
||||
|
||||
if (desc->format == PIPE_FORMAT_R11G11B10_FLOAT)
|
||||
return V_008F0C_BUF_DATA_FORMAT_10_11_11;
|
||||
|
||||
if (desc->nr_channels == 4 &&
|
||||
desc->channel[0].size == 10 &&
|
||||
desc->channel[1].size == 10 &&
|
||||
@@ -1401,6 +1404,9 @@ static uint32_t si_translate_buffer_numformat(struct pipe_screen *screen,
|
||||
const struct util_format_description *desc,
|
||||
int first_non_void)
|
||||
{
|
||||
if (desc->format == PIPE_FORMAT_R11G11B10_FLOAT)
|
||||
return V_008F0C_BUF_NUM_FORMAT_FLOAT;
|
||||
|
||||
switch (desc->channel[first_non_void].type) {
|
||||
case UTIL_FORMAT_TYPE_SIGNED:
|
||||
if (desc->channel[first_non_void].normalized)
|
||||
|
||||
Reference in New Issue
Block a user