Genefx: Use Util::PacketBuffer instead of std::vector and add accounting for pixel operations to keep tasks short in execution time.
Genefx: Use Util::PacketBuffer instead of std::vector and add accounting for pixel operations to keep tasks short in execution time.

Calculates task 'weight' based on pixel count and flags, e.g. blending.

Adds three defines:

// FIXME: find better auto detection, runtime options or dynamic adjustment for the following values
if defined(ARCH_X86) || defined(ARCH_X86_64)
define DFB_GENEFX_COMMAND_BUFFER_BLOCK_SIZE 0x40000   // 256k
define DFB_GENEFX_COMMAND_BUFFER_MAX_SIZE   0x130000  // 1216k
define DFB_GENEFX_TASK_WEIGHT_MAX           300000000
else
define DFB_GENEFX_COMMAND_BUFFER_BLOCK_SIZE 0x8000    // 32k
define DFB_GENEFX_COMMAND_BUFFER_MAX_SIZE   0x17800   // 94k
define DFB_GENEFX_TASK_WEIGHT_MAX           10000000
endif

sklnet/DirectFB,mtsekm/test,djbclark/directfb-core-DirectFB,lancebaiyouview/DirectFB,lancebaiyouview/DirectFB,Distrotech/DirectFB,kaostao/directfb,sklnet/DirectFB,sklnet/DirectFB,djbclark/directfb-core-DirectFB,deniskropp/DirectFB,lancebaiyouview/DirectFB,deniskropp/DirectFB,kevleyski/directfb,deniskropp/DirectFB,Distrotech/DirectFB,kevleyski/DirectFB-1,dfbdok/DirectFB1,kaostao/directfb,jcdubois/DirectFB,kaostao/directfb,jcdubois/DirectFB,sklnet/DirectFB,kevleyski/directfb,mtsekm/test,deniskropp/DirectFB,DirectFB/directfb,DirectFB/directfb,jcdubois/DirectFB,lancebaiyouview/DirectFB,mtsekm/test,DirectFB/directfb,kevleyski/DirectFB-1,kevleyski/directfb,kevleyski/DirectFB-1,djbclark/directfb-core-DirectFB,kevleyski/DirectFB-1,djbclark/directfb-core-DirectFB,kevleyski/directfb,dfbdok/DirectFB1,Distrotech/DirectFB,dfbdok/DirectFB1