[Mesa-dev] [PATCH 2/6] gallium: implement ARB_seamless_cube_map

Marek Olšák maraeo at gmail.com
Mon May 2 07:40:26 PDT 2011


On Mon, May 2, 2011 at 3:47 PM, Brian Paul <brianp at vmware.com> wrote:
> On 05/02/2011 07:03 AM, Marek Olšák wrote:
>>
>> ---
>>  src/gallium/include/pipe/p_defines.h        |    1 +
>>  src/gallium/include/pipe/p_state.h          |    1 +
>>  src/mesa/state_tracker/st_atom_rasterizer.c |    6 +++++-
>>  src/mesa/state_tracker/st_extensions.c      |    4 ++++
>>  4 files changed, 11 insertions(+), 1 deletions(-)
>>
>> diff --git a/src/gallium/include/pipe/p_defines.h
>> b/src/gallium/include/pipe/p_defines.h
>> index 431a7fb..176fee9 100644
>> --- a/src/gallium/include/pipe/p_defines.h
>> +++ b/src/gallium/include/pipe/p_defines.h
>> @@ -465,6 +465,7 @@ enum pipe_cap {
>>     PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR = 44,
>>     PIPE_CAP_FRAGMENT_COLOR_CLAMP_CONTROL = 45,
>>     PIPE_CAP_MIXED_COLORBUFFER_FORMATS = 46,
>> +   PIPE_CAP_SEAMLESS_CUBE_MAP = 47
>>  };
>>
>>  /* Shader caps not specific to any single stage */
>> diff --git a/src/gallium/include/pipe/p_state.h
>> b/src/gallium/include/pipe/p_state.h
>> index 0c1f509..26e8a8e 100644
>> --- a/src/gallium/include/pipe/p_state.h
>> +++ b/src/gallium/include/pipe/p_state.h
>> @@ -101,6 +101,7 @@ struct pipe_rasterizer_state
>>     unsigned line_smooth:1;
>>     unsigned line_stipple_enable:1;
>>     unsigned line_last_pixel:1;
>> +   unsigned seamless_cube_map:1;
>
> Shouldn't this be sampler state and not rasterizer state?  The AMD extension
> lets this option be set per texture.  Though, I don't know if non-AMD
> hardware supports that mode.

r600 and r700 hardware has one enable bit that affects the entire
chip. There is no per-sampler enable bit.

evergreen and later hardware indeed has a per-sampler enable bit.

I wouldn't like to limit the extension to evergreen, so
pipe_rasterizer_state seemed to be the only choice.

Marek


More information about the mesa-dev mailing list