This should fix Dave's crash with the GL engine.
Indeed the pointer to the color array is passed directly
to the driver, without memcpy. Then, during glDrawArrays, the
driver will try to address it... but it could as well be NULL or
invalid. So, crashes would occur.
Also mark use_vertex as always true. We keep this field only for the
alloc() function.
Since the new shader selection system is able to check the
value of nomul, we can avoid pushing color when they are not
required (color is opaque white).
Hopefully this will fix Dave's crash (mayyyyybe...)
Summary: This fixes Coverity CID1270028, CID1270029, CID1270030 where
variables RGBA_Image and Native where dereferencing function input
paramaters Before null checking them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This fixes Coverity CID1293519 where einfo was being used
Before it was being null checked (which Could have caused a crash if
in fact einfo Was NULL).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This fixes a resource leak of eina_array in
eng_ector_renderer_draw which would return without freeing an
allocated array.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: The Evas Drm engine makes use of Ecore_Drm functions now so
we no longer need private versions of the same code
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: As we already have Ecore_Drm which handles all things drm
related, let's make use of it in the Evas Drm Engine. This modifies
the 'meat' of the Evas Drm engine to use Ecore_Drm functions rather
than keeping private versions of the same code.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: With the evas drm engine refactor, some of the fields in the
Render_Engine structure are unused so remove them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: With the evas drm engine refactor, a lot of these fields in
the Outbuf structure are unused so remove them. This also removes
unused private function declarations.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: A few of these engine fields are no longer needed or were
unused in the Evas Drm engine so remove them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This makes use of the newly added Ecore_Drm API functions to
get information about the output so we can setup the Evas engine
properly
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If we are using the software version of ecore_evas_drm, then
make API call to setup the Ecore_Drm_Device for software rendering.
This creates the dumb buffers on the Ecore_Drm_Device.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This removes an internal evas drm engine function and instead
uses the new ecore_drm_fb_dirty function call to mark the framebuffer
as dirty
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
For GLX backend, we should dlopen libGL.so*
@fix
Test Plan: Evas GL 1.x test cases
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: mythri, mer.kim, wonsik, cedric
Differential Revision: https://phab.enlightenment.org/D2322
Summary:
Evas GL surface buffers are allocated at make current time now
rather than surface creation time, and since we pass evas gl surface handle
to the backend, we do not need direct surfaces hash anymore.
Test Plan: elementary test and evas gl test cases
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: cedric, mythri, mer.kim, wonsik
Differential Revision: https://phab.enlightenment.org/D2320
Summary:
Hopefully this will fix some of the multiple windows issues for elm glview but not all.
@fix
Test Plan: elementary glview tests
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2317
Summary:
@fix
During execution example evas-3d-obj, part of 3D objects showed with red ripple.
The reason is not completely initialize component vector gl_FragColor
Reviewers: cedric, Hermet
Reviewed By: Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2292
Summary: This commit changes the evas drm engine to use Ecore_Drm_Fb
for framebuffers. We remove the old 'Buffer' structure from the evas
engine and replace it in Outbuf with Ecore_Drm_Fb. This also removes
unused functions from the evas_drm.c file as we can now use
ecore_drm_fb calls
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This file is not needed for the software drm engine. This was
added (initially) for combining the drm software & hardware engines
into one. As that is not the case, this file is unused.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Test case:
- Elementary Test
-- GLView
--- Direct rendering
Direct rendering would never happen in reality, because Evas GL
had to fallback. The reason being that DR requires the window
to have a depth buffer, but this depth buffer was no present
in the default config.
From elm, the solution is to set a special accel_preference,
for instance "gl:depth". But setting this value right before
calling elm_win_add() for the GLView test was already too late.
Indeed, evas_x would keep the default configurations and reuse
them no matter what was requested (ie. only RGB and RGBA would
work).
Solution:
Implement a slightly more complex cache based on a hash map instead
of just two static variables. Always request a new config if it's
not found in the current hash. Store that config, and reuse it for
the same config requests.
Tons of line changes because of the name changes and the whitespace
adjustments. Also some variables disappeared into the magic hash table.
Summary:
This reverts commit 4af7a947a6.
There is more convenient way remove noise in vector gl_Fragcolor at shadow_map
shader, because current decision lead to useless issue with shadow effect.
Need just add default initialize at the begining in shader file smth like that
gl_FragColor = vec4(1);
I suppose do that after this patch.
Reviewers: cedric, raster, Hermet
Reviewed By: Hermet
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2290
This is a new feature introduced by the shaders refactoring:
even masking shaders now support smooth sampling of the masked image
using the special 12,21,22 shaders.
Also, refactor the list of texture bindings so that it's
automatically generated by the script, as opposed to being a
manual list...