[Mesa-dev] Gallium API questions

Marek Olšák maraeo at gmail.com
Wed Jun 23 15:42:15 PDT 2010


On Thu, Jun 24, 2010 at 12:25 AM, Marek Olšák <maraeo at gmail.com> wrote:

> On Wed, Jun 23, 2010 at 11:51 PM, Corbin Simpson <
> mostawesomedude at gmail.com> wrote:
>
>> Yep, it's that time again. These are just things marked in the docs as
>> unknown, so I'm not grinding any axes, just cleaning stuff up.
>>
>> ~ "If a surface includes several layers/slices (XXX: not yet...) then
>> all layers will be cleared." From the information on
>> pipe_context::clear(). Is this just wishful thinking, or do drivers
>> need to implement this?
>>
>
> I believe this has something to do with geometry shaders where you can
> select a layer (slice, face) you want to emit a primitive to. This way you
> may e.g. render to a whole cubemap in one pass.
>
>
>> ~ An explanation of dual-source blends and how they work would be nice.
>>
>
> http://www.opengl.org/registry/specs/ARB/blend_func_extended.txt
>
>
>>
>> ~ If logicop_enable and independent_blend_enable are set, are lops
>> performed for all render targets, or only those that have blend_enable
>> set?
>>
>> ~ PIPE_CAP_TEXTURE_SHADOW_MAP and PIPE_CAP_MAX_PREDICATE_REGISTERS
>> aren't explained.
>>
>
> I think PIPE_CAP_TEXTURE_SHADOW_MAP means shadow samplers.
>
>
>> ~ PIPE_CAP_GUARD_BAND_* obviously refers to the guard bands, but what
>> exactly do they mean as capabilities? Maximum guard band settings?
>> Minimum?
>>
>> ~ Could somebody explain exactly what's up with the RCC opcode? Its
>> definition is kind of ridiculous: dst = (1 / src.x) > 0 ? clamp(1 /
>> src.x, 5.42101e-020, 1.884467e+019) : clamp(1 / src.x, -1.884467e+019,
>> -5.42101e-020)
>>
>> ~ Are we going to introduce new cap bits for parts of the TGSI ISA?
>> (I'll understand if this is off the table for now.)
>>
>> ~ TGSI_SEMANTIC_POSITION is (x, y, z, w) where x, y, and z are
>> position, and w is the homogeneous coordinate. Is w also for
>> perspective divide? Is the perspective divide configurable, or is it
>> always done in shaders?
>>
>
> The perspective divide is done per-pixel after the rasterization and before
> the fragment shader, and there is no way to disable it in Gallium. It's
> never done in shaders, it's rather a fixed functionality and imposing
> additional restrictions on it would make it hard to implement in drivers.
>

Hm, it's done during the rasterization, actually.

-Marek


>
>
>> ~ "Position, if not specified, usually defaults to (0, 0, 0, 1), and
>> can be partially specified as (x,  y, 0, 1) or (x, y, z,  1)."
>> "Usually" is probably Corbin-speak for "I'm just guessing here." Is
>> that actually how it goes, or is position mandatory?
>>
>> ~ Can somebody explain the format of TGSI_SEMANTIC_EDGEFLAG?
>>
>> ~ What are the components of textures in the UV or Z format when
>> sampled? For UV, current candidates are (0, 0, 0, 1) and (u, v, 1, 1).
>> The latter seems more reasonable given that Gallium is shaderful. For
>> Z, it could be (z, z, z, 1), (0, z, 0, 1), (0, 0, 0, z), or (z, z, z,
>> z) and is configurable in GL. Maybe we want to have this be
>> configurable?
>>
>> Thanks!
>>
>> ~ C.
>>
>> --
>> When the facts change, I change my mind. What do you do, sir? ~ Keynes
>>
>> Corbin Simpson
>> <MostAwesomeDude at gmail.com>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20100624/7c0d346b/attachment-0001.htm>


More information about the mesa-dev mailing list