Re: [AD] stretch_blit GFX_HW_VRAM_BLIT ?

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


On Friday 27 January 2006 23:02, Elias Pschernig wrote:
> On Sat, 2006-01-28 at 08:53 +1100, aj wrote:
> > do the new accelerated hardware stretch_blit() going to have a 
> > gfx_capabilities flag ?

They must have, yes.

> Well, scrolling down to Evert's post, I can see this:
> 
> +#define GFX_HW_STRETCH_BLIT               0x00800000
> +#define GFX_HW_STRETCH_BLIT_MASKED        0x01000000
> 
> But it's a good question.. the existing flags indicate if MEM, SYS or
> VRAM blits are accelerated:
> 
> GFX_HW_VRAM_BLIT
> GFX_HW_VRAM_BLIT_MASKED
> GFX_HW_MEM_BLIT
> GFX_HW_MEM_BLIT_MASKED
> GFX_HW_SYS_TO_VRAM_BLIT
> GFX_HW_SYS_TO_VRAM_BLIT_MASKED
> 
> So should the new flags indicate it as well?

Yes, they actually should. My original idea was that the MEM flags are 
sortof pointless because I don't see when and how they can be and that for 
the hardware acceleration both SYS and VRAM were accelerated, so I 
combined the flags (which is why there is no SYS or VRAM indicator in the 
name). I later realised that this is only true on Windows but not 
guarenteed to be true on other platforms (that don't have real system 
bitmaps), so those at least need to be added before the patch is applied. 
Might as well add the MEM flags too in that case though I'm still not sure 
that they serve an actual purpose.

> From what I understand, the 
> new stretch_blit would work for VRAM and SYS_TO_VRAM, so 4 new flags
> instead of 2 new flags would be needed..

Yes. This actually raises another problem: the gfx_capabilities flags are 
almost all taken. What do we do with new capabilities that we might add? 
Create a more_gfx_capabilities variable? Use a function-call to decide 
which one to populate (much more work and error-prone because internally 
we'd still need gfx_capabilities and more_gfx_capabilities-like variables 
and current functions directly set gfx_capabilities).
Or do we just call it done and don't add new hardware accelerated features?
The latter would be the easiest way, but then, we really shouldn't be 
adding this to 4.2 either!
I personally think more_gfx_capabilities is the least of all evils. 
Hmm... alternatively... what happens if we increase the width of 
gfx_capabilities to 64 bit? Would older programmes (taht think it's 32 
bit) using the newer dynamic library just see the lower 32 bits?

Evert




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/