X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fi915%2FTODO;h=20c082062cd7eb22cc90b52d56de1601d03e4802;hb=444138d6d9f7c0a07ff043bae623efa5ae26b3c1;hp=c26db198d20935e4f0e22621a61b0d5e30cc0712;hpb=2adf02b45639d9d91400d081277783d5bbd20a33;p=mesa.git diff --git a/src/gallium/drivers/i915/TODO b/src/gallium/drivers/i915/TODO index c26db198d20..20c082062cd 100644 --- a/src/gallium/drivers/i915/TODO +++ b/src/gallium/drivers/i915/TODO @@ -1,22 +1,11 @@ Random list of problems with i915g: -- Check if PIPE_CAP_BLEND_EQUATION_SEPARATE work, the code is there. - If not fix it! A simple task, good for beginners. - -- Add support for PIPE_CAP_POINT_SPRITE either via the draw module or directly - via the hardware, look at the classic driver, more advanced. - - What does this button do? Figure out LIS7 with regards to depth offset. - Dies with BadDrawable on GLXFBconfig changes/destruction. Makes piglit totally unusable :( Upgrading xserver helped here, it doesn't crash anymore. Still broken, it doesn't update the viewport/get new buffers. -- Kills the chip in 3D_PRIMITIVE LINELIST with mesa-demos/fbotexture in - wireframe mode. Changing the cullmode to cw from none mitigates the crash. As - does emitting only one line segment (2 indices) per 3D_PRIMITIVE command in - the batch. - - Y-tiling is even more fun. i915c doesn't use it, maybe there's a reason? Texture sampling from Y-tiled buffers seems to work, though (save above problems). @@ -31,15 +20,19 @@ Random list of problems with i915g: 4D. Is it a big problem though? We're more limited by the # of texture indirections and the # of instructions. -- Leverage draw to enable more caps: - * PIPE_CAP_TGSI_INSTANCEID - * PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS - - Finish front/back face. We need to add face support to lp_build_system_values_array and use it in draw_llvm.c. +- More optimizations, like replacing ADD + MUL with MAD or use DP2ADD. + - Replace constants and immediates which are 0,1,-1 or a combination of those with a swizzle. -- i915_delete_fs_state doesn't call draw_delete_fragment_shader. Why? +- Schedule instructions to minimize the number of phases. One way is to replace + R registers responsible for a boundary with U registers to avoid phase + boundaries. + +- Continue a previous primitive when there are no state changes + +- Fix fragment discard Other bugs can be found here: -https://bugs.freedesktop.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Drivers/Gallium/i915g +https://gitlab.freedesktop.org/mesa/mesa/-/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=i915g